博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 去除列表中重复的元素
阅读量:4709 次
发布时间:2019-06-10

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

比较容易记忆的是用内置的set

l1 = ['b','c','d','b','c','a','a'] 

l2 = list(set(l1)) 
print l2

还有一种据说速度更快的,没测试过两者的速度差别

l1 = ['b','c','d','b','c','a','a'] 

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

也可以这样写

l1 = ['b','c','d','b','c','a','a'] 

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

上面的代码也可以这样写

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']

转载于:https://www.cnblogs.com/liudemeng/p/9092895.html

你可能感兴趣的文章
ubuntu下安装Docker
查看>>
mysql的字符编码
查看>>
《编程之美》读书笔记 -- 1.4买书问题
查看>>
稳定排序
查看>>
libev & libevent简介
查看>>
ProtoBuffer优势
查看>>
@Repository、@Service、@Controller 和 @Component
查看>>
bootstrap-wysihtml5设置值
查看>>
Windows常用快捷键与常用命令
查看>>
290. Word Pattern 单词匹配模式
查看>>
project1
查看>>
const char*, char const*, char*const的区别
查看>>
vue踩坑记-在项目中安装依赖模块npm install报错
查看>>
mySQL优化, my.ini 配置说明
查看>>
mysql系统数据库
查看>>
alwayson监控
查看>>
浅谈 js 函数调用
查看>>
进程与线程
查看>>
python面试题
查看>>
MySQL 数据备份与还原
查看>>