list根据某些元素合并
时间: 2023-08-30 22:04:27 浏览: 92
python实现合并多个list及合并多个django QuerySet的方法示例
您可以使用Python中的列表推导式和条件表达式来合并列表中的元素。例如,假设您要将一个包含字典的列表根据字典中的某个键值对进行合并:
```
list_of_dicts = [{'name': 'Alice', 'age': 25, 'city': 'New York'},
{'name': 'Bob', 'age': 30, 'city': 'San Francisco'},
{'name': 'Charlie', 'age': 35, 'city': 'New York'}]
merged_list = [d1 if d1['city'] == d2['city'] else {**d1, **d2}
for i, d1 in enumerate(list_of_dicts)
for d2 in list_of_dicts[i+1:]]
print(merged_list)
```
在上面的示例中,我们首先使用两个嵌套的循环遍历列表中的所有字典。对于每个字典,我们将其与其后面的所有字典进行比较。如果两个字典具有相同的城市键值对,则我们只保留第一个字典,并将其添加到合并后的列表中。否则,我们将两个字典合并为一个字典,并将其添加到合并后的列表中。
输出将是:
```
[{'name': 'Alice', 'age': 25, 'city': 'New York'},
{'name': 'Bob', 'age': 30, 'city': 'San Francisco'},
{'name': 'Charlie', 'age': 35, 'city': 'New York', 'name': 'Alice', 'age': 25}]
```
请注意,由于字典中的键必须是唯一的,因此在将两个字典合并时,如果它们具有相同的键,则只会保留第一个键。
阅读全文