博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 列表(list)去除重复的元素总结
阅读量:7086 次
发布时间:2019-06-28

本文共 1004 字,大约阅读时间需要 3 分钟。

方法一:

  将list作为set的构造函数构造一个set,然后再将set转换会list就可以

>>> myList = [1, 2, 3, 3, 2, 2, 4, 5, 5]>>> myList[1, 2, 3, 3, 2, 2, 4, 5, 5]>>> myList = list(set(myList))>>> myList[1, 2, 3, 4, 5]

 

方法二:使用列表推导,只保留元素个数等于1

例如: a = ['a', 'b', 'c', 'd', 'a', 'a']b = [x for x in a if a.count(x) == 1]print b

   不过还可以使用下面的方法,只是上面的方法更简单

  b = []  for x in a:    if a.count(x) == 1:        b.append(x)  print b

 

方法三:使用字典中的fromkeys方法

  

a = ['b','c','d','b','c','a','a'] b = {}.fromkeys(a).keys() print b

 方法四:用list类的sort方法

a = ['b','c','d','b','c','a','a']b = list(set(a))b.sort(key=a.index)print b不过,也可以这样写a = ['b','c','d','b','c','a','a']b = sorted(set(a),key=a.index)print b

 

方法五:使用用遍历

 

l1 = ['b','c','d','b','c','a','a'] l2 = [] for i in l1: if not i in l2:         l2.append(i) print l2上面的代码也可以这样写l1 = ['b','c','d','b','c','a','a'] l2 = [] [l2.append(i) for i in l1 if not i in l2] print l2这样就可以保证排序不变了:['b', 'c', 'd', 'a']

 

方法六:使用lambda方法

>>> lst = [1, 2, 4, 5, 5, 5, 4, 7]>>> print filter(lambda x: lst.count(x)<2, lst)[1, 2, 7]

 

转载地址:http://sbgml.baihongyu.com/

你可能感兴趣的文章
[转]热插拔原理和应用
查看>>
ABP框架 - 动态Web Api层
查看>>
JUC回顾之-ScheduledThreadPoolExecutor底层实现原理和应用
查看>>
js中移除空白节点
查看>>
BZOJ 3343 教主的魔法 分块
查看>>
SQL NOW() 函数
查看>>
IntelliJ IDEA激活
查看>>
使用JavaScript实现弹出层效果的简单实例
查看>>
FreePascal - Typhon在Windows10 X64下的使用问题!
查看>>
来个原创: mongodb 集群实例
查看>>
MVC程序实现Autocomplete功能
查看>>
[设计模式]静态代理模式
查看>>
[裴礼文数学分析中的典型问题与方法习题参考解答]5.1.24
查看>>
电脑稳定性检测软件
查看>>
rabbitmq management advance lesson
查看>>
window server 2012 更改密钥 更改系统序列号
查看>>
2.6 《硬啃设计模式》第8章 复制不是很难 - 原型模式(Prototype Pattern)
查看>>
Intel处理器 天梯图
查看>>
attachEvent传递给其handler的一个默认参数
查看>>
简单介绍join,outer-join,semi-join,anti-join的区别
查看>>