python中list的值去重
时间: 2024-09-17 20:09:46 浏览: 45
python列表list保留顺序去重的实例
5星 · 资源好评率100%
在Python中,有几种方法可以去除列表中的重复值:
1. **set()**:将列表转换成集合,因为集合不允许有重复元素,然后再转换回列表。这种方法会改变元素原来的顺序,如果保持顺序则不适合。
```python
unique_list = list(set(my_list))
```
2. **使用for循环**:遍历列表,只添加第一次遇到的新元素到新列表。
```python
unique_list = []
for item in my_list:
if item not in unique_list:
unique_list.append(item)
```
3. **使用dict**:利用字典的键唯一性,将元素作为值存储,然后提取字典的键作为无重复列表。
```python
unique_list = list(dict.fromkeys(my_list))
```
这种方法也不保证原顺序。
4. **使用列表推导式**:结合if条件过滤出不重复的元素。
```python
unique_list = [item for i, item in enumerate(my_list) if item not in my_list[:i]]
```
这种方法保留了原始元素的插入顺序。
5. 使用**collections.Counter**:对于有序序列,可以使用这个模块统计每个元素的频率,再选择计数为1的元素。
```python
from collections import Counter
unique_list = [item for item, count in Counter(my_list).items() if count == 1]
```
阅读全文