python中列表怎么去重复元素
时间: 2024-10-12 14:03:53 浏览: 51
在Python中,要去除列表中的重复元素,有多种方法可以实现。以下是三种常见的方法:
1. **使用set**(无序且不保原始位置):
```python
lst = [1, 2, 2, 3, 4, 4, 5]
unique_lst = list(set(lst))
```
这里,`set()` 函数会创建一个集合,自动移除所有重复项,然后用 `list()` 将其转换回列表。
2. **使用列表推导式**(保留元素第一次出现的位置):
```python
lst = [1, 2, 2, 3, 4, 4, 5]
unique_lst = [x for i, x in enumerate(lst) if x not in lst[:i]]
```
这种方法通过遍历列表,仅当元素不在前面已经遍历过的部分出现时才添加到新列表。
3. **使用dict**(如果元素有序且唯一,可以借助字典的键值对消除重复,保留第一个出现的元素):
```python
lst = [1, 2, 2, 3, 4, 4, 5]
unique_lst = list(dict.fromkeys(lst))
```
这里是将列表转换为字典(键是元素,值默认为None),由于字典不允许有重复的键,所以重复元素会被忽略。
相关问题
python中list去重复元素
在Python中,可以使用set()函数来去除列表中的重复元素。set()函数会自动删除重复的元素,并返回一个不含重复元素的新列表。下面是示例代码:
```python
my_list = [1, 2, 3, 3, 4, 5, 5, 6]
my_list = list(set(my_list))
print(my_list)
```
输出结果:
```
[1, 2, 3, 4, 5, 6]
```
python列表去除重复元素
可以使用Python中的set()函数来去除列表中的重复元素,然后再将set转换回列表。示例代码如下:
```python
my_list = [1, 2, 3, 2, 1, 4, 5, 5, 6]
my_list = list(set(my_list))
print(my_list)
```
输出结果为:`[1, 2, 3, 4, 5, 6]`
另外,如果想要保留列表中原有的元素顺序,可以使用Python的OrderedDict类来实现:
```python
from collections import OrderedDict
my_list = [1, 2, 3, 2, 1, 4, 5, 5, 6]
my_list = list(OrderedDict.fromkeys(my_list))
print(my_list)
```
输出结果为:`[1, 2, 3, 4, 5, 6]`
阅读全文
相关推荐
















