我有字典列表,我想使用itertools.groupby重新排列它,代码很简单:
from operator import itemgetter
sorted_animals = sorted(questions,key=itemgetter('intent'))
for key,group in itertools.groupby(sorted_animals,key=lambda x:x['intent']):
print(key),print(list(group))
questions_grouped.append({key: list(group)})
print("questions_grouped:",questions_grouped)
pprint(questions_grouped)
此代码有效,我得到了预期的结果,按字典分组的新字典,按以下方式打印:
greet
[{'intent': 'greet','text': 'Hi. Hi.'},{'intent': 'greet','text': 'Hello'}]
但是,我真的很沮丧,如果我查看列表,并使用这些项目创建的列表,我的所有列表都是空的!: 假设简单的打印有效并且所有列表都必须包含内容,那真是太奇怪了。 我使用的是Python 3.6.5,Anaconda
questions_grouped:
[{'greet': []},{'ask_family1': []},{'ask_family10': []},{'ask_family11': []},{'ask_family12': []},
如何解决?