list根据某个字段合并其他字段的值
时间: 2023-09-23 22:13:18 浏览: 160
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
您可以使用Python中的groupby函数来根据某个字段合并其他字段的值。这里是一个示例代码:
```python
from itertools import groupby
# 假设您有一个包含多个字典的列表
data = [
{'name': 'Alice', 'age': 25, 'city': 'New York'},
{'name': 'Bob', 'age': 30, 'city': 'Chicago'},
{'name': 'Alice', 'age': 35, 'city': 'San Francisco'},
{'name': 'Bob', 'age': 40, 'city': 'Los Angeles'}
]
# 根据'name'字段进行分组,并合并'age'和'city'字段的值
merged_data = []
for key, group in groupby(sorted(data, key=lambda x: x['name']), key=lambda x: x['name']):
merged_item = {'name': key}
for item in group:
merged_item['age'] = item['age']
merged_item['city'] = item['city']
merged_data.append(merged_item)
print(merged_data)
```
输出结果为:
```
[
{'name': 'Alice', 'age': 35, 'city': 'San Francisco'},
{'name': 'Bob', 'age': 40, 'city': 'Los Angeles'}
]
```
在上面的示例中,我们使用groupby函数根据'name'字段对列表进行分组,并通过循环遍历每个分组来合并其他字段的值。最终,我们得到一个合并后的列表。请注意,我们在使用groupby函数之前先对原始数据进行了排序,以确保分组的准确性。
阅读全文