Учитывая следующую функцию:Предотвратить получение объекта генератора
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 как я описал выше?
Либо добавьте 'dict' вызов или сделать его словарное понимание (' {ключ: LOCS для key, locs ...} '). В настоящее время генератор * именно то, что вы просите *. – jonrsharpe
Что такое 'word_dict = defaultdict (list)'? Является ли 'defaultdict()' настраиваемой функцией? –
[defaultdict] (https://docs.python.org/2/library/collections.html#defaultdict-objects) – wpercy