繁体   English   中英

防止获取生成器对象

[英]Prevent getting a generator object

考虑以下功能:

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+

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM