我正在研究一个反向索引的搜索程序。索引本身是一个字典,其键是术语,其值本身是短文档的字典,ID号是键,其文本内容是值。
因此,要对两个词执行“和”搜索,我需要将它们的帖子列表(词典)相交。在Python中,有什么方法可以做到这一点(不一定过于聪明)?我一开始就用iter
做了很长的尝试:
p1 = index[term1]
p2 = index[term2]
i1 = iter(p1)
i2 = iter(p2)
while ... # not sure of the 'iter != end 'syntax in this case
...
Tags:
一个鲜为人知的事实是,您不需要构造
set
来执行此操作:在Python 2中:
在Python 3中,用
keys
替换viewkeys
;这同样适用于viewvalues
和viewitems
。从
viewitems
的文档中:对于较大的
dict
s,这也比构造set
s并与它们相交稍快:我们在这里比较纳秒,这对你来说可能重要,也可能不重要。在任何情况下,都会返回一个
set
,因此使用viewkeys
/keys
可以消除一点混乱。可以方便地计算集合的交集,因此可以从关键点创建集合并将它们用于交集:
相关问题 更多 >
编程相关推荐