python-set集合类方法
s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])返回的是{11,22,33,44,‘Tom’,‘tony’,77,2.5}(注意:返回的并不是一个字典,只是告诉你这个集合中含有这些元素,所以每次返回的结果元素的顺序可能是不一样的)
s2=set([11,22,33,44,'Tom','tony',11,55,66,])返回的是{11,22,33,44,‘Tom’,‘tony’,55,66}(注意:返回的并不是一个字典,只是告诉你这个集合中含有这些元素,所以每次返回的结果元素的顺序可能是不一样的)
add(...)
Add an element to a set.
This has no effect if the element is already present.(如果元素已存在,则添加无效。就是说明set是一个没有重复元素的集合。)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s1.add('jimi')
print(s1)
结果:{33, 'tony', 2.5, 'jimi', 11, 44, 77, 22, 'Tom'}(注意:set是一个无序的集合,可能每次运行的结果的顺序不一样。)
difference(...)
Return the difference of two or more sets as a new set.(求主差集,并会生成一个新的集合)
(i.e. all elements that are in this set but not the others.)(注意:s1.difference(s2)表示的是找出s1中有而s2中没有的元素,并生成一个新的集合。s2.difference(s1)表示的是找出s2中有而s1中没有的元素,并生成一个新的集合。)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s2=set([11,22,33,44,'Tom','tony',11,55,66,])
s3=s1.difference(s2)
s4=s2.difference(s1)
print(s3)
print(s4)
结果:{2.5, 77}
{66, 55}
difference_update(...)
Remove all elements of another set from this set.(从这个集合中移除另一组的所有元素。注意:s1.difference_update(s2)表示的是移除s1中两者共有的元素,保留不共有的元素,是对s1的修改而不是生成一个新列表。 s2.difference_update(s1)表示的是移除s2中两者共有的元素,保留不共有的元素,是对s2的修改而不是生成一个新列表。)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s2=set([11,22,33,44,'Tom','tony',11,55,66,])
s1.difference_update(s2)
print(s1)
结果:{2.5, 77}
discard(...)
Remove an element from a set if it is a member.(移除集合中的成员(元素))
If the element is not a member, do nothing.(如果集合中没有这个成员,则不进行任何操作,也不会报错,这与Remove有区别。)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s1.discard(2.5)
结果:{33, 'Tom', 11, 44, 77, 'tony', 22}
intersection(...)
Return the intersection of two sets as a new set.(生成两个集合的交集,并生成一个新的列表)
(i.e. all elements that are in both sets.)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s2=set([11,22,33,44,'Tom','tony',11,55,66,])
s5=s1.intersection(s2)
s6=s2.intersection(s1)
print(s5)
print(s6)
结果:{33, 'Tom', 11, 44, 22, 'tony'}
{33, 11, 44, 'tony', 'Tom', 22}
intersection_update(...)
Update a set with the intersection of itself and another.(功能和intersection(...)是一样的,但是s1.intersection(s2)在执行的时候是对原来的集合s1的修改,并不会生成一个新的集合)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s2=set([11,22,33,44,'Tom','tony',11,55,66,])
s1.intersection(s2)
s2.intersection(s1)
print(s1)
print(s2)
结果:{33, 'Tom', 11, 44, 22, 'tony'}
{33, 11, 44, 'tony', 'Tom', 22}
isdisjoint(...)
Return True if two sets have a null intersection.(判断两个集合是否有交集,如果有则返回False,如果没有则返回True)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s2=set([100,50,500,])
print(s1.isdisjoint(s2))
结果:True
issubset(...)
Report whether another set contains this set.(判断一个集合中的所有元素是否在另个集合中,s1.issubset(s2)表示的是s1中的每个元素都在s2中,注意与s1.issuperset(s2)的区别。 )
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s2=set([11,22,33,44,'Tom','tony',11,])
s3=([11,22,33,44,'Tom','tony',11,55,66])
s1.issubset(s2)
s1.issubset(s3)
print(s1.issubset(s2))
print(s1.issubset(s3))
结果:True
False
issuperset(...)
Report whether this set contains another set.(判断一个集合中的所有元素是否在另个集合中,s1.issubset(s2)表示的是s2中的每个元素都在s1中,注意与s1.issubset(s2)的区别。 )
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s2=set([11,22,33,44,'Tom','tony',11,])
s3=([11,22,33,44,'Tom','tony',11,55,66])
s1.issuperset(s2)
s1.issuperset(s3)
print(s1.issuperset(s2))
print(s1.issuperset(s3))
结果:True
False
pop(...)
Remove and return an arbitrary set element.(随机删除一个元素)
Raises KeyError if the set is empty.(如果集合为空,执行pop时会提醒KeyError)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s1.pop()
结果:{33, 'Tom', 2.5, 11, 44, 77, 22}
remove(...)
Remove an element from a set; it must be a member.(移除集合中的成员(元素),这个元素必须在这个集合中)
If the element is not a member, raise a KeyError.(如果集合中没有这个成员,则会提示keyError,这与discard有区别。)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s1.remove(2.5)
s1.remove('jimi')
结果:{33, 'Tom', 'tony', 11, 44, 77, 22}
KeyError: 'jimi'
symmetric_difference(...)
Return the symmetric difference of two sets as a new set.(生成一个新的列表,这个列表是两个列表中不重复元素的集合,s1.symmetric_difference(s2)表示s1中有s2中没有的元素和s2中有s1中没有的元素的集合)
(i.e. all elements that are in exactly one of the sets.)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s2=set([11,22,33,44,'Tom','tony',11,55,66,])
s4=s2.symmetric_difference(s1)
print(s4)
结果:{2.5, 66, 77, 55}
symmetric_difference_update(...)
Update a set with the symmetric difference of itself and another.(对一个列表进行修改,两个列表中不重复元素的集合,s1.symmetric_difference(s2)表示s1中有s2中没有的元素和s2中有s1中没有的元素的集合)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s2=set([11,22,33,44,'Tom','tony',11,55,66,])
s1.symmetric_difference_update(s2)
print(s1)
结果:{2.5, 66, 77, 55}
union(...)
Return the union of sets as a new set.(生成一个新集合,改列表是两个列表的所以成员(元素)的集合,s1.union(s2)表示的是包含s1,s2所有元素的新集合)
(i.e. all elements that are in either set.)
例如:s1=set([11,22,33,44,'Tom','tony',11,77,2.5,])
s2=set([11,22,33,44,'Tom','tony',11,55,66,])
s3=s1.union(s2)
print(s3)
结果:{33, 2.5, 66, 'Tom', 11, 44, 77, 55, 22, 'tony'}
update(...)
Update a set with the union of itself and others.(将一个集合更新到另一个集合,s1.update(s2)表示将s2中的所有元素放到s1中,完成对s1的更新修改)
例如:s1=set([100,50,])
s2=set([11,22,33,44,'Tom','tony',11,55,66,])
s1.update(s2)
print(s1)
结果:{'tony', 33, 66, 100, 'Tom', 11, 44, 50, 22, 55}
python-set集合类方法的更多相关文章
- python 静态方法、类方法(二)
<Python静态方法.类方法>一文中曾用在类之外生成函数的方式,来计算类的实例的个数.本文将探讨用静态方法和类方法来实现此功能. 一使用静态方法统计实例 例1.static.py # - ...
- Python 3 集合基础和概念!
Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...
- Python的集合
1. Python的集合 1.1 集合的定义 在Python中, 集合set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.Python中的集合set类 ...
- python类:类方法和静态方法
http://blog.csdn.net/pipisorry/article/details/49516185 面相对象程序设计中,类方法和静态方法是经常用到的两个术语.逻辑上讲:类方法是只能由类名调 ...
- Python 操作集合
Python 操作集合 集合,set,主要用于数据的关系测试和去重处理,和列表类似,可以存储数据,列表中可以存储重复的数据,但是如果转化为集合之后,数据就会进行去重,然后保留唯一值:关系测试就是求多个 ...
- Python中集合set()的使用及处理
在Python中集合(set)与字典(dict)比较相似,都具有无序以及元素不能重复的特点 1.创建set 创建set需要一个list或者tuple或者dict作为输入集合 重复的元素在set中会被自 ...
- python实例、类方法、静态方法
[python实例.类方法.静态方法] 参考:http://blog.163.com/yang_jianli/blog/static/161990006201122411586729/
- Python:集合操作总结
集合是一组无序排列的不重复元素集 [注]:集合的最大作用是对一个序列进行去重操作 一.集合的分类 在Python中集合分为两类,为可变集合(set)和不可变集合(frozenset).对于可变集合(s ...
- python 的集合 set()操作
Python 的集合 set(),是一个无序不重复元素集,可以用于关系测试和消除重复元素. 有以下运算: 1.创建一个set ()集合: 2.add:增加集合元素 3.clea ...
- 【面试必问】python实例方法、类方法@classmethod、静态方法@staticmethod和属性方法@property区别
[面试必问]python实例方法.类方法@classmethod.静态方法@staticmethod和属性方法@property区别 1.#类方法@classmethod,只能访问类变量,不能访问实例 ...
随机推荐
- iOS开发——项目实战总结&关于随机量
关于随机量 rand 是一个标准的 C 函数. random 是定义为 POSIX 标准的一部分. arc4random 是在 BSD 和派生平台. 随机数 arc4random_uniform(N) ...
- [转载] linux下打开windows txt文件中文乱码问题
原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在win ...
- IOS 开发环境,证书和授权文件等详解
(转自:http://blog.csdn.net/gtncwy/article/details/8617788) 一.成员介绍1. Certification(证书)证书是对电脑开发资格的认证, ...
- 入手Cubieboard2之制作最小Linux系统
前言 昨天终于入手了一块Cubieboard2板子,今年4月入职从事的就是与之相关的工作,因此趁现在有时间就好好熟悉一下. 一.主机环境 1.PC主机WIN 7旗舰版 1.虚拟机VM7.0 2.ubu ...
- [原创]Andorid DexClassLoader的创建过程解析(基于5.0)
做Android插件框架时,经常会用到dex的动态加载,就要直接或间接的使用DexClassLoader,在new DexClassLoader的时候Android系统做了很多工作,下面我们详细分析一 ...
- CREATE A LOADING SCENE / SPLASH SCREEN - UNITY
In the first scene or maybe the Main Menu scene of your game Create an Empty Gameobject. Call it wha ...
- Flash Media Server 4.5 序列号 (fms4.5 激活码)
激活码一枚 ,网上找不到的..我今天放出来了哦... 1462-5864-7783-6034-8316-3718 (亲测 可用) 安装前找到系统盘下windows/system32/driv ...
- mac vim 使用
再使用Mac编辑文件时感觉非常不爽,没有语法高亮,只能通过设置改变所有字体为同一个颜色,看起来还是别扭, 于是找到方法使用vim时可以实现语法高亮显示,操作步骤如下: 1.进入/usr/share/v ...
- java笔试练习题
选择题(共50题,每题1.5分,共75分.多选题选不全或选错都不得分.)1. 以下属于面向对象的特征的是(C,D).(两项)A) 重载B) 重写C) 封装D) 继承 2. 以下代码运行输出是(C)pu ...
- Winform快速开发组件的实现(一)
好久好久没有露面了,呵呵,对于写文章都有点生疏了. 在拿到任何一个项目,不管是b/s的还是c/s,我不会立即开始写代码,我一般会为使这些项目能够快速开发制定一系列的支持组件,虽然可能前期会付出一些代价 ...