考虑以下功能:

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/

10-08 22:00