Python中利用set去除列表(list)重复元素
2015-08-25 20:38
435 查看
Python的set类型和其他语言类似,是一个无序不重复元素集,基本功能包括关系测试和消除重复元素。
如果我们要处理一些数据,需要去除掉重复元素,比如列表a = [5, 2, 5, 1, 4, 3, 4],可以用如下方式实现
a = [5, 2, 5, 1, 4, 3, 4]
print list(set(a))
Python中set集合对象还支持union(联合[|])、intersection(交[&])、difference(差[-])和sysmmetric difference(对称差集^)等数学运算。如下:
a = set('abracadabra')
b = set('alacazam')
# a包含且b包含的字符
print a & b
print a.intersection(b)
# a包含或b包含的字符
print a | b
print a.union(b)
# a包含且b不包含的字符
print a - b
print a.difference(b)
# a包含且b不包含的字符和b包含且a不包含的字符
print a ^ b
print a.symmetric_difference(b)
当然,Python中关于set的操作类型还有很多,这里就不一一列举了。如果一个文本中有重复的元素,我们应该如何去除呢,文本内容如下:
[root@linuxidc ]# cat done.txt
linuxidc
linuxidc
linuxidc
http://www.linuxidc.com/ http://www.linuxidc.com/
Python利用set去除重复元素的方式,如下:
In [1]: print '\n'.join(set(open('done.txt').read().split('\n')))
linuxidc http://www.linuxidc.com/
In [2]: print ''.join(set([x for x in open('done.txt').readlines() if x.strip()!='']))
linuxidc http:///www.linuxidc.com/
如果我们要处理一些数据,需要去除掉重复元素,比如列表a = [5, 2, 5, 1, 4, 3, 4],可以用如下方式实现
a = [5, 2, 5, 1, 4, 3, 4]
print list(set(a))
Python中set集合对象还支持union(联合[|])、intersection(交[&])、difference(差[-])和sysmmetric difference(对称差集^)等数学运算。如下:
a = set('abracadabra')
b = set('alacazam')
# a包含且b包含的字符
print a & b
print a.intersection(b)
# a包含或b包含的字符
print a | b
print a.union(b)
# a包含且b不包含的字符
print a - b
print a.difference(b)
# a包含且b不包含的字符和b包含且a不包含的字符
print a ^ b
print a.symmetric_difference(b)
当然,Python中关于set的操作类型还有很多,这里就不一一列举了。如果一个文本中有重复的元素,我们应该如何去除呢,文本内容如下:
[root@linuxidc ]# cat done.txt
linuxidc
linuxidc
linuxidc
http://www.linuxidc.com/ http://www.linuxidc.com/
Python利用set去除重复元素的方式,如下:
In [1]: print '\n'.join(set(open('done.txt').read().split('\n')))
linuxidc http://www.linuxidc.com/
In [2]: print ''.join(set([x for x in open('done.txt').readlines() if x.strip()!='']))
linuxidc http:///www.linuxidc.com/
相关文章推荐
- Python os.path 模块介绍
- 在Eclipse中安装python插件的方法
- Python os模块介绍
- python中调用函数
- windows(32位 64位)下python安装mysqldb模块
- Python一日一练06----怒刷点击量pyqt5版
- python numpy教程
- python中mysql的相关操作
- Python 并行分布式框架:Celery 超详细介绍
- Python编程学习——生成器
- Python 动态生成变量名
- python BDD 框架之lettuce(支持中文)
- python学习笔记
- python celery(任务调度器)
- python3爬虫 - 利用浏览器cookie登录
- python3爬虫 - 利用浏览器cookie登录
- python学习笔记之爬虫之爬取百度贴吧某一帖子
- 用python上手金融工程
- Python 虚拟环境:Virtualenv
- python报错