python dict去重
时间: 2024-05-16 14:10:46 浏览: 172
Python中的字典(dict)是一种可变容器模型,用来存储键值对。在使用字典时,有时候会遇到需要去重的情况。可以通过以下两种方法来去重:
1. 使用setdefault()方法进行去重
使用setdefault()方法可以判断字典中是否存在某个键,如果不存在则添加到字典中,如果存在则不进行任何操作。可以利用这个特性进行去重。示例代码如下:
```
my_dict = {'a': 1, 'b': 2, 'c': 1, 'd': 3}
new_dict = {}
for key, value in my_dict.items():
new_dict.setdefault(value, key)
print(new_dict)
```
输出结果为:`{1: 'c', 2: 'b', 3: 'd'}`,可以看到,原字典中的重复值被去除了。
2. 使用collections模块中的OrderedDict进行去重
collections模块中的OrderedDict是一个有序字典,它继承自普通字典,但是可以保持元素添加的顺序。利用OrderedDict的特性,可以将原字典中的键值对逐一添加到OrderedDict中,并通过判断键是否已经存在来进行去重。示例代码如下:
```
from collections import OrderedDict
my_dict = {'a': 1, 'b': 2, 'c': 1, 'd': 3}
new_dict = OrderedDict()
for key, value in my_dict.items():
if value not in new_dict:
new_dict[value] = key
print(new_dict)
```
输出结果为:`OrderedDict([(1, 'a'), (2, 'b'), (3, 'd')])`,同样可以看到,原字典中的重复值被去除了。
阅读全文