1. 问题:
当列表元素是字典类型存储时,需要将相同key对应的所有值收集,该怎么处理?
2. 解决方法:
使用collections模块中的defaultdict函数。
- 示例:
from collections import defaultdict
test_list = [1, 3, 6, 2, 9, 10, 4]
test_dict = [
{"name": "BMW", "price": 20000},
{"name": "Benz", "price": 50000},
{"name": "Audi", "price": 3000},
{"name": "BYD", "price": 1000},
{"name": "丰田", "price": 9000},
{"name": "保时捷", "price": 600000},
]
print(f"--转换前的数据是:{test_dict}")
handle_dict = defaultdict(list)
for item in test_dict:
for key, value in item.items():
handle_dict[key].append(value)
print(f"--转换后的数据是:{dict(handle_dict)}")
- 示例结果: