列表去重的Python代码实现
发布时间:2023-06-21 07:09:24
Python中有多种方法可以实现列表去重,常用的有以下几种:
方法一:使用set()函数
set()函数是Python内置函数之一,它能够通过将列表转换为集合,将列表中重复的元素去除。这种方法简单、快速,适用于没有顺序要求的列表去重场景。具体实现代码如下:
lst = [1,2,3,2,1] lst = list(set(lst)) print(lst) # [1,2,3]
方法二:使用循环遍历法
循环遍历法,即利用循环遍历全列表,然后使用判断条件去掉重复元素。具体实现代码如下:
lst = [1,2,3,2,1]
new_lst=[]
for i in lst:
if i not in new_lst:
new_lst.append(i)
print(new_lst) #[1,2,3]
方法三:使用字典法
字典法是利用字典的key元素不重复的特点,将列表中的每个元素放入字典中。由于重复元素的key会覆盖掉之前重复的key,最后再转换为列表即可。具体实现代码如下:
lst = [1,2,3,2,1]
temp = {}
temp = temp.fromkeys(lst)
lst = list(temp.keys())
print(lst) #[1,2,3]
方法四:使用列表推导式
列表推导式是Python中一种快捷生成列表的方式,特别适用于筛选、过滤、转换新列表等场景。在列表推导式中可以使用if语句来去掉重复元素。具体实现代码如下:
lst = [1,2,3,2,1] lst = list(set([x for x in lst if lst.count(x) == 1])) print(lst) #[2,3]
小结:
在Python中,有多种方法可以实现列表去重,循环遍历法、字典法和列表推导式等方法各有优劣。在实际场景中,应根据需要考虑选用哪种方法。同时需要注意,列表去重操作的时间复杂度是O(n),当列表元素很多时,执行效率会比较低,因此需要慎重考虑初始列表元素个数的大小。
