考虑以下功能:
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>
我如何才能如上所述返回字典?
最佳答案
return dict(...)
或return {key: locs for ...}
第二个版本应该是更多pythonic版本,并且是python 2.7或3.1+的首选版本
关于python - 防止获取生成器对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33016645/