Python列表去重的5种实用方法详解
本文整理了Python中去除列表重复元素的五种常用方法,包括利用集合、for循环、排序函数、字典特性以及迭代器groupby。每种方法均提供完整代码示例与运行结果分析,帮助开发者根据性能需求选择最优方案。
请定义一个函数,从给定的列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]中移除重复元素,并至少展示三种不同的实现方式。
方法一:利用集合去重
方法一:利用集合去重
集合去重代码实现
list_1=[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
def func1(list_1):
return list(set(list_1))
print('去重后的列表:',func1(list_1))方法二:利用for循环
方法二:利用for循环
循环遍历去重代码实现
list_2 = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
def func2(list_2):
#定义一个空列表
mylist_2=[]
#i遍历list_2
for i in list_2:
#如果i不在mylist_2,则添加到mylist_2
if i not in mylist_2:
mylist_2.append(i)
print(mylist_2)
print(func2(list_2))方法三:巧用sort()排序
方法三:巧用sort()排序
排序后去重代码实现
list_3 = [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
def func3(list_3):
result_list=[]
temp_list=sorted(list_3)
i=0
while i<len(temp_list):
#如果不在result_list则添加进去,否则i+1
if temp_list[i] not in result_list:
result_list.append(temp_list[i])
else:
i+=1
return result_list
print(func3(list_3))方法四:巧用字典
方法四:巧用字典
字典键值去重代码实现
list_4= [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
def func4(list_4):
#fromkeys() 函数创建一个新字典,获取新字典的键(键值是唯一的)
result_list = []
for i in {}.fromkeys(list_4).keys():
result_list.append(i)
return result_list
print(func4(list_4))方法五:利用迭代器
方法五:利用迭代器
迭代器groupby去重代码实现
import itertools
list_5= [10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]
def func5(list_5):
list_5.sort()
temp_list= itertools.groupby(list_5)
result_list=[]
for i,j in temp_list:
result_list.append(i)
return result_list
print(func5(list_5))运行结果展示
运行结果:

总结
到此这篇关于Python列表去重的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













