大家好,给大家分享一下python列表去重输入一系列以逗号分隔的英文人名,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

Source code download: 本文相关源码

本文介绍了Python列表去重的几种方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
请定义函数,将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]中的重复元素除去,写出至少3种方法python编程代码画红心。
方法一:利用集合去重
| 1 2 3 4 | 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循环
| 1 2 3 4 5 6 7 8 9 10 11 | 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()排序
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | 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)) |
方法四:巧用字典
| 1 2 3 4 5 6 7 8 | 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)) |
方法五:利用迭代器
| 1 2 3 4 5 6 7 8 9 10 | 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列表去重的文章就介绍到这了,希望对大家的学习有所帮助!
转自:微点阅读 微点阅读 - 优秀的百科知识问答网站!