将数据作为带有字典的列表给出,我将如何返回一个新的字典列表,其中键“ color”中的值成为新键,而键“ id”中的关联值成为该键列表的元素新价值观?示例:
{{1}}
答案 0 :(得分:3)
您可以使用defaultdict
:
>>> from collections import defaultdict
>>> ret = defaultdict(list)
>>> for d in data:
... ret[d['color']].append(d['id'])
...
>>> ret
defaultdict(<class 'list'>, {'red': [123, 329], 'blue': [242]})
我认为您不需要为每个键返回一个字典,因为根据您的情况,键在定义上是唯一的,但是如果您需要这样的键,则可以使用如下列表理解:
>>> [{key: value} for key, value in ret.items()]
[{'red': [123, 329]}, {'blue': [242]}]