gpt4 book ai didi

python - 按值对 python 字典列表进行分组

转载 作者:行者123 更新时间:2023-12-01 00:31:33 24 4
gpt4 key购买 nike

假设我有一个字典列表,我想创建新的列表列表,按“价格”的值对字典进行分组:

dicts = [
{ "name": "item1", "price": 10 },
{ "name": "item2", "price": 5 },
{ "name": "item3", "price": 10 },
{ "name": "item4", "price": 12 },
{ "name": "item5", "price": 12 },
{ "name": "item6", "price": 5 }
]

应该创建:

grouped_dicts = [
[{ "name": "item1", "price": 10 },
{ "name": "item3", "price": 10 }],
[{ "name": "item2", "price": 5 },
{ "name": "item6", "price": 5 }],
[{ "name": "item4", "price": 12 },
{ "name": "item5", "price": 12 }]
]

有什么好的方法可以做到这一点吗?

谢谢

最佳答案

作为 answer above 的替代方案,以下是无需额外导入即可执行此操作的方法:

d = {}

for item in dicts:
d.setdefault(item['price'], []).append(item)

list(d.values())

输出:

[[{'name': 'item1', 'price': 10}, {'name': 'item3', 'price': 10}],
[{'name': 'item2', 'price': 5}, {'name': 'item6', 'price': 5}],
[{'name': 'item4', 'price': 12}, {'name': 'item5', 'price': 12}]]

关于python - 按值对 python 字典列表进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58139480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com