【发布时间】:2013-07-03 21:56:01
【问题描述】:
好的,我这里有这段代码:
def andSearch(inverseIndex, query):
pepp = set()
for y in [inverseIndex[x] for x in query]:
if pepp == set():
pepp.update(y)
else:
pepp & y
return pepp
我正在尝试输入一个字典,例如:
L = {'Cats':{1},'Dogs':{2},'Cat':{0,4},'Dog':{0,4},'Pigs':{3},'Animal':{4}}
作为输出,如果值连接并包含所有输入查询,我希望有一个显示字典值的集合,如下所示:
query = [ 'Dog', 'Cat','Animal'] ----> {4}
query = [ 'Dog', 'Cat'] ---> {0,4}
query = ['Dog', 'Dogs'] ---- {} (or set())
query = [] -----> {}
但问题是当我尝试运行模块时,我得到了这个奇怪的输出:
>>> andSearch(L,Query)
Ellipsis
是什么原因造成的?无论输入什么都是一样的,而且不会给我错误或什么都没有,你们有没有聪明的家伙和女孩可以帮助我?
【问题讨论】:
-
我无法重现您的结果。
-
你得到什么结果?
-
我得到了套装。结果不正确(因为您忽略了
pepp & y的结果)但我确实得到了集合。 -
你需要做
pepp = pepp & y,pepp & y不会更新集合。