У меня есть список диктов, и я хочу использовать 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': []},
Как решить?