Python中有几种方法实现列表去重,代码是什么
Admin 2022-08-01 群英技术资讯 330 次浏览
请定义函数,将列表[10, 1, 2, 20, 10, 3, 2, 1, 15, 20, 44, 56, 3, 2, 1]中的重复元素除去,写出至少3种方法。
方法一:利用集合去重
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循环
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()排序
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))
方法五:利用迭代器
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))
运行结果:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Pytest allure 命令行参数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
form表单里get和post提交的区别在哪?一些朋友应该知道,form表单中提交方式有get和post,那么究竟这两种提交方式的区别在哪?怎样使用呢?下面我们详细的了解看看。
怎样用python写一个截屏工具?对于截屏工具的应用场景有很多,我们经常可以使用到,截屏工具也是比较实用的,下面我们就来看看用Python怎样实现截屏工具。感兴趣的朋友可以参考看看。
concat与merge函数的作用和用法是什么,一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
本文主要介绍了OpenCV中的分水岭算法、图像金字塔对图像进行分割的方法。文中的示例代码讲解详细,对我们学习OpenCV有一定的帮助,需要的可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008