python删除列表相同元素
时间: 2024-09-08 21:02:22 浏览: 50
在Python中,如果你想要删除列表中的重复元素,可以使用多种方法:
1. **set()转换**:
使用集合(set)对列表进行转换,因为集合不允许有重复元素,然后再将其转回列表。
```python
lst = [1, 2, 2, 3, 4, 4, 5]
lst = list(set(lst))
```
2. **循环遍历**:
可以通过遍历列表,将元素添加到新列表中,如果新列表中还没有该元素,则添加。
```python
lst = [1, 2, 2, 3, 4, 4, 5]
new_lst = []
for item in lst:
if item not in new_lst:
new_lst.append(item)
```
3. **使用列表推导式**:
利用列表推导式的特性,只保留第一次出现的元素。
```python
lst = [1, 2, 2, 3, 4, 4, 5]
lst = [x for i, x in enumerate(lst) if x not in lst[:i]]
```
4. **使用dict或defaultdict**:
因为字典键值不允许重复,可以先转化为字典,再将键转回列表。
```python
from collections import defaultdict
lst = [1, 2, 2, 3, 4, 4, 5]
lst = list(defaultdict(int, dict.fromkeys(lst)).keys())
```
注意:这些方法都会改变原列表,如果你不想改变原列表,可以在操作前复制一份。
阅读全文