Python set集合类型操作总结

yipeiwu_com6年前Python基础

Python中除了字典,列表,元组还有一个非常好用的数据结构,那就是set了,灵活的运用set可以减去不少的操作(虽然set可以用列表代替)

小例子

1.如果我要在许多列表中找出相同的项,那么用集合是最好不过的了,用集合只用一行就可以解决

复制代码 代码如下:

x & y & z # 交集

2.去重

复制代码 代码如下:

>>> lst = [1,2,3,4,1]
>>> print list(set(lst))
[1, 2, 3, 4]

用法

注意set因为没有位置的概念所以list方法切片什么的都没有用,需要的时候再转化为list

内建函数创建set

复制代码 代码如下:

set([1, 2, 3, 4])

基本操作

复制代码 代码如下:

t.add('x')            # 添加一项
s.update([10,37,42])  # 在s中添加多项

t.remove('H') # 删除一项

len(s)  # set 的长度

x in s # 测试 x 是否是 s 的成员 

x not in s   # 测试 x 是否不是 s 的成员 

s.issubset(t) 
s <= t  # 测试是否 s 中的每一个元素都在 t 中 

s.issuperset(t) 
s >= t  # 测试是否 t 中的每一个元素都在 s 中 

s.union(t) 
s | t  # 返回一个新的 set 包含 s 和 t 中的每一个元素 

s.intersection(t) 
s & t  # 返回一个新的 set 包含 s 和 t 中的公共元素 

s.difference(t) 
s - t  # 返回一个新的 set 包含 s 中有但是 t 中没有的元素 

s.symmetric_difference(t) 
s ^ t  # 返回一个新的 set 包含 s 和 t 中不重复的元素 

s.copy()  # 返回 set “s”的一个浅复制 

相关文章

Python2.7实现多进程下开发多线程示例

简单的基于Python2.7版本的多进程下开发多线程的示例,供大家参考,具体内容如下 可以使得程序执行效率至少提升10倍 #!/usr/bin/env python # -*- co...

Pytorch中实现只导入部分模型参数的方式

我们在做迁移学习,或者在分割,检测等任务想使用预训练好的模型,同时又有自己修改之后的结构,使得模型文件保存的参数,有一部分是不需要的(don't expected)。我们搭建的网络对保存...

Python使用MD5加密算法对字符串进行加密操作示例

本文实例讲述了Python使用MD5加密算法对字符串进行加密操作。分享给大家供大家参考,具体如下: # encoding: utf-8 from __future__ import...

python实时获取外部程序输出结果的方法

如下所示: s=subprocess.Popen("ping baidu.com -t",bufsize=0,stdout=subprocess.PIPE,universal_new...

python基础教程之udp端口扫描

一、概述任务描述:开发一个程序,用于获取局域网中开启snmp服务的主机ip地址列表,并写入相应文件以便其它程序使用。背景知识:SNMP是基于UDP的,而且标准的SNMP服务使用161和1...