python中我们在给列表去重的时候,经常会遇到去重之后,原本列表的顺序打乱了的情况。针对此问题,小编整理了三种列表去重但不打乱顺序的方法:1、使用集合set去重;2、使用用sort()中的key字段进行设定;3、使用reduce()函数去重。
方法一:使用集合set去重
l1 = ['b','c','d','b','c','a','a'] l2 = sorted(set(l1),key=l1.index) print l2
方法二:使用用sort()中的key字段进行设定
#随便创建一个有重复数据的列表 lt1 = [0,1,2,3,4,4,5,5,6,12,6,7,7,8,8,8,8,9,9,10,11,10,64] #把列表二次转换 lt = list(set(lt1)) #index()是为了从列表中找到某个值第一项的索引位置, #sort(key,reverse)是改变原来列表的元素位置,不会生成一个新列表,reverse默认是true,就是升序。 lt.sort(key=lt1.index) print(lt)
方法三:使用reduce()函数去重
list = [1,4,3,3,4,2,3,4,5,6,1] func = lambda x,y:x if y in x else x + [y] In reduce(func, [[], ] + list) 输出结果: [1, 4, 3, 2, 5, 6]
以上就是python中三种列表去重但不打乱顺序的方法,大家可以直接套用使用哦~
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论