簡體   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