Python 去除列表中重复的元素
来源:互联网 发布:java多态的实现方式 编辑:程序博客网 时间:2024/05/22 15:00
From: http://www.cnblogs.com/infim/archive/2011/03/10/1979615.html
比较容易记忆的是用内置的set
l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
print l2
l2 = list(set(l1))
print l2
还有一种据说速度更快的,没测试过两者的速度差别
l1 = ['b','c','d','b','c','a','a']
l2 = {}.fromkeys(l1).keys()
print l2
l2 = {}.fromkeys(l1).keys()
print l2
这两种都有个缺点,祛除重复元素后排序变了:
['a', 'c', 'b', 'd']
如果想要保持他们原来的排序:
用list类的sort方法
l1 = ['b','c','d','b','c','a','a']
l2 = list(set(l1))
l2.sort(key=l1.index)
print l2
l2 = list(set(l1))
l2.sort(key=l1.index)
print l2
也可以这样写
l1 = ['b','c','d','b','c','a','a']
l2 = sorted(set(l1),key=l1.index)
print l2
l2 = sorted(set(l1),key=l1.index)
print l2
也可以用遍历
l1 = ['b','c','d','b','c','a','a']
l2 = []
for i in l1:
if not i in l2:
l2.append(i)
print l2
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
l2 = []
[l2.append(i) for i in l1 if not i in l2]
print l2
这样就可以保证排序不变了:
['b', 'c', 'd', 'a']
- Python 去除列表中重复的元素
- Python 去除列表中重复的元素
- python去除列表中重复的元素
- Python 去除列表中重复的元素
- Python 去除列表中重复的元素
- Python 去除列表中重复的元素
- [python]去除列表中重复元素
- 【Python】【List】去除列表中重复的元素
- python中去除列表重复元素的方法汇总
- python中去除列表重复元素的方法汇总
- 去除列表中不重复的元素
- python列表去除重复元素
- Python 去除list中重复的元素
- Python去除list中重复的元素
- Python中利用set去除列表(list)重复元素
- Python中利用set去除列表(list)重复元素
- python题目-----去除list中重复元素
- python四种方法实现去除列表中的重复元素
- 540 - Team Queue***
- ext中联动combo远程加载选中的解决
- 关于object类
- Android日记之2012/01/20(公告)
- Poj 2524 Ubiquitous Religions
- Python 去除列表中重复的元素
- 2012-Linux->17 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
- 分享读取各大主流邮箱通讯录(联系人)、 MSN好友列表的的功能【升级版(2.0)】 .net版
- USACO Section 4.4 Frame Up - DFS即可~
- oracle简单查询
- 应聘之前应该看看
- jquery复选框
- Y450安装Snow leopoard简单教程分享 2012/1/20
- sgu 185 Two shortest 最大流