python删除list重复元素

Python是一种高级编程语言 , 它的列表(list)是一种非常常见的数据类型 。在处理列表数据时 , 我们经常会遇到需要删除重复元素的情况 。本文将从多个角度分析Python删除list重复元素的方法 。方法一:使用set()函数
【python删除list重复元素】在Python中 , 集合(set)是一种无序、不重复的元素集合 。因此 , 我们可以将列表转换为集合 , 再将集合转换回列表 , 以删除重复元素 。示例代码如下:

python删除list重复元素

文章插图
```python
lst = [1, 2, 3, 2, 4, 3, 5, 6]
lst = list(set(lst))
print(lst)
```
输出结果为:
```
[1, 2, 3, 4, 5, 6]
```
这种方法的优点是简单、快速 , 缺点是会改变列表元素的顺序 。
方法二:使用for循环和if语句
我们可以使用for循环遍历列表 , 使用if语句判断元素是否重复 , 以删除重复元素 。示例代码如下:
```python
lst = [1, 2, 3, 2, 4, 3, 5, 6]
new_lst = []
for i in lst:
if i not in new_lst:
new_lst.append(i)
print(new_lst)
```
输出结果为:
```
[1, 2, 3, 4, 5, 6]
```
这种方法的优点是不会改变列表元素的顺序 , 缺点是速度较慢 , 时间复杂度为O(n^2) 。
方法三:使用列表推导式
Python的列表推导式(list comprehension)可以简化代码 , 使其更加优雅 。我们可以使用列表推导式来删除重复元素 。示例代码如下:
```python
lst = [1, 2, 3, 2, 4, 3, 5, 6]
new_lst = list(set([i for i in lst]))
print(new_lst)
```
输出结果为:
```
[1, 2, 3, 4, 5, 6]
```
这种方法的优点是代码简洁、易读 , 缺点是会改变列表元素的顺序 。
方法四:使用字典
在Python中 , 字典(dictionary)是一种键值对的数据结构 。我们可以使用字典来删除重复元素 。示例代码如下:
```python
lst = [1, 2, 3, 2, 4, 3, 5, 6]
new_lst = list({}.fromkeys(lst).keys())
print(new_lst)
```
输出结果为:
```
[1, 2, 3, 4, 5, 6]
```
这种方法的优点是速度较快 , 缺点是会改变列表元素的顺序 。
综上所述 , 我们可以根据实际情况选择不同的方法来删除重复元素 。如果不关心元素顺序 , 可以使用set()函数或列表推导式;如果需要保留元素顺序 , 可以使用for循环和if语句或字典 。

    推荐阅读