list根据多个字段找出重复
时间: 2023-06-11 10:08:52 浏览: 107
如果你想根据多个字段找出 list 中的重复项,可以使用 Python 中的 defaultdict 和 tuple 来实现。
示例代码如下:
```python
from collections import defaultdict
data = [
{'name': 'Alice', 'age': 21, 'location': 'New York'},
{'name': 'Bob', 'age': 24, 'location': 'Chicago'},
{'name': 'Charlie', 'age': 21, 'location': 'New York'},
{'name': 'David', 'age': 24, 'location': 'Boston'},
{'name': 'Eve', 'age': 21, 'location': 'New York'},
]
# 将数据转换为 tuple,并用 defaultdict 分组
grouped_data = defaultdict(list)
for item in data:
grouped_data[(item['name'], item['age'], item['location'])].append(item)
# 打印重复的数据
for key, value in grouped_data.items():
if len(value) > 1:
print('重复项:', key)
for item in value:
print('\t', item)
```
上述代码中,我们将数据转换为 tuple,并用 defaultdict 分组。如果有多个元素相同的 tuple,则说明这些数据是重复的。最后,我们打印出重复的数据。
阅读全文