字典类型的列表,根据字典里面的值去重
时间: 2024-10-19 12:07:42 浏览: 11
对python列表里的字典元素去重方法详解
在Python中,如果你有一个包含字典的列表,并且你想根据这些字典的某个键(值)去重,可以使用`dict`集合(因为集合不允许有重复元素)或者通过迭代构建一个新的列表,只保留唯一的元素。这里有两个简单的方法:
1. **使用`dict`集合**:
```python
def deduplicate_list_by_value(dict_list, key):
unique_dict = {}
result = []
for item in dict_list:
if item[key] not in unique_dict:
unique_dict[item[key]] = True
result.append(item)
return result
# 示例
data = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 25}, {'name': 'Charlie', 'age': 30}]
unique_data = deduplicate_list_by_value(data, 'age')
```
2. **遍历列表创建新列表**:
```python
def deduplicate_list_by_value_iterative(dict_list, key):
seen_values = set()
result = []
for item in dict_list:
if item[key] not in seen_values:
result.append(item)
seen_values.add(item[key])
return result
# 示例同上
unique_data = deduplicate_list_by_value_iterative(data, 'age')
```
这两个函数都会返回一个新的列表,其中的字典根据指定的键值去除了重复。
阅读全文