Как сгруппировать список словарей в подсписные словари одним из своих значений?Как сгруппировать список словарей в подсписок словарей одним из их значений ключа?
Например, я хотел бы изменить этот список словарей в подсписки словарей
lst = [{'A':12,'B':32,'ID':333},{'Z':32,'C':43,'ID':111},{'D':43,'J':31,'ID':222},{'a':32,'b':31,'ID':222},{'D':43,'ID':333},{'a':89,'d':31,'ID':222},{'C':83,'ID':111}]
Desired_lst = [[{'A':12,'B':32,'ID':333},{'D':43,'ID':333}],[{'Z':32,'C':43,'ID':111},{'C':83,'ID':111}],[{'D':43,'J':31,'ID':222},{'a':32,'b':31,'ID':222},{'a':89,'d':31,'ID':222}]]
Я попытался следующий, который не работает, потому что я не знаю, как применять группировать или сортировать в словаре.
from itertools import groupby
from operator import itemgetter
Desired_List = [list(grp) for key, grp in itertools.groupby(sorted(lst, key=operator.itemgetter(['ID'])),key=operator.itemgetter(['ID'))]
Что, если что-нибудь, вы пробовали? Кроме того, похоже, это группировка, а не сортировка. – jonrsharpe
Добавил то, что я пытался, что я знаю, работает для списка списков, но я не уверен, как применить его к списку словарей – Chris
, как они сортируются? –