【发布时间】:2015-10-08 22:00:11
【问题描述】:
考虑以下功能:
from collections import defaultdict
def duplicate_checker(word_list):
word_dict = defaultdict(list)
for i,item in enumerate(tweet_list):
word_dict[item].append(i)
return ((key, locs) for key, locs in word_dict.items() if len(locs) >= 1)
当我使用单词列表调用该函数时,它应该检查重复项并返回一个字典,其中包含列表中的单词作为键,并将它们在单词列表中的位置列表作为值,用作调用函数的参数。
但是,当我想打印结果时,它会返回:
<generator object <genexpr> at 0x02E306C0>
如何让它返回如上所述的字典?
【问题讨论】:
-
添加
dict调用或使其成为字典理解 ({key: locs for key, locs ...})。目前,生成器正是您所要求的。 -
什么是
word_dict = defaultdict(list)?defaultdict()是自定义函数吗? -
@KevinGuan 大概是
collections.defaultdict。 -
@KevinGuan 是的,对不起,我忘了添加'from collections import defaultdict'
标签: python dictionary duplicates