目录

1. s.copy()

2. s.isdisjoint(other)

3. 子集

3.1 s.issubset(other)

3.2 set <= other

3.3 set < other

4. 超集

4.1 s.issuperset(other)

4.2 set >= other

4.3 set > other


不改变原集合的方法,同时适用于set、frozenset对象,包括如下方法以及等价运算符:

1. s.copy()

返回 s 集合的一个浅拷贝

s = {1.1, 257, ('a',), 4, 5}
s = {1.1, 257, ('a','b','c')}
s1 = s.copy()
for x in s:
...     for x1 in s1:
...         if x == x1:
...             print(x)
...             if x is x1:
...                 print('x和x1是同一元素')
...
1.1
x和x1是同一元素
('a', 'b', 'c')
x和x1是同一元素
257
x和x1是同一元素

2. s.isdisjoint(other)

如果 s 集合中没有与 other 容器存在共同的元素,那么返回 True,否则返回 False;

当且仅当两个集合的交集为空集合时,两者为不相交集合;

other可以不是集合,还可以是列表、元组、字典、字符串;

列表、元组元素的子元素与集合中元素相同,仍不相交;

字典则判断其键是否与集合元素相交。

s1 = {1,'2',3.4,5j}#如果 s 集合中没有与 other 容器存在共同的元素,那么返回 True,否则返回 False
s8 = {5j,6j,7j}
s1.isdisjoint(s8)
False
s9 = {'1',2}
s1.isdisjoint(s9)
True#other可以是字典,判断其键是否与集合元素相交
s2 = {1:'x'}
s1.isdisjoint(s2)
False
s3 = {'x':1}
s1.isdisjoint(s3)
True#other可以是列表
s4 = ['a','2','b']
s1.isdisjoint(s4)
False#other可以是元组
s5 = (3.4,'c','d')
s1.isdisjoint(s5)
False#列表、元组元素的子元素与集合中元素相同,仍不想交;
s6 = [(0,1),4,5]
s1.isdisjoint(s6)
True#other可以是字符串
s7 = '123'
s1.isdisjoint(s7)
False

3. 子集

3.1 s.issubset(other)

如果 s 集合是 other 容器的子集,那么返回 True,否则返回 False;

对于两个集合 A、B,如果集合 A 中任意一个元素都是集合 B 中的元素,我们就说这两个集合有包含关系,称集合 A 为集合 B 的子集(Subset);

other可以是列表、元组、字典、字符串等,字典是判断s集合是否是字典键的子集;

集合A==集合B,A是B的子集,但不是B的真子集。

s1 = {1,2,3,4}#s 集合是 other 容器的子集,返回 True
s2 = {1,2,3,4}
s1.issubset(s2)
True
s3 = {1,2,3,4,5}
s1.issubset(s3)
True#s 集合不是 other 容器的子集,返回 False
s4 = {2,3,4}
s1.issubset(s4)
False#other 可以是元组、列表、字典、字符串等
s5 = [1,2,3,4,5]
s1.issubset(s5)
True
s6 = (1,2,3,4)
s1.issubset(s6)
True
s7 = {1:'a',2:'b',3:'c',4:'d'}
s1.issubset(s7)
True
s8 = {'1','2','3'}
s9 = '1234'
s8.issubset(s9)
True

3.2 set <= other

检测是否集合中的每个元素都在 other 之中,集合之间对比时,等价于s.issubset();

运算符比较,other必须为集合,不支持列表、元组、字典、字符串等可迭代对象。

s1 = {1,2,3,4}#集合中的每个元素都在 other 之中,返回True
s2 = {1,2,3,4,5}
s1 <= s2
True
s3 = {1,2,3,4}
s1 <= s3
True#集合中有元素不在other之中,返回False
s4 = {1,2,3}
s1 <= s4
False#运算符比较,other必须为集合,不支持列表、元组、字典、字符串等可迭代对象
s5 = [1,2,3,4,5]
s1 <= s5
Traceback (most recent call last):File "<input>", line 1, in <module>
TypeError: '<=' not supported between instances of 'set' and 'list'

3.3 set < other

检测集合是否为 other 的真子集,即 set <= other and set != other。

s1 = {1,2,3,4}#集合中的每个元素都在 other 之中,且set != other,返回True
s2 = {1,2,3,4,5}
s1 < s2
True#set == other,返回False
s3 = {1,2,3,4}
s1 < s3
False#集合中有元素不在other之中,返回False
s4 = {1,2,3}
s1 < s4
False

4. 超集

4.1 s.issuperset(other)

如果 s 集合是 other 容器的超集,那么返回 True,否则返回 False;

对于两个集合 A、B,如果集合 B 中任意一个元素都是集合 A 中的元素,我们就说这两个集合有包含关系,称集合 A 为集合 B 的超集(Superset);

other可以是列表、元组、字典、字符串等,字典是判断s集合是否是字典键的子集;

集合A==集合B,A是B的超集,但不是B的真超集。

s1 = {1,2,3,4}# s 集合不是 other 容器的超集,返回 False
s2 = {1,2,3,4,5}
s1.issuperset(s2)
False# s 集合是 other 容器的超集,返回 True
s3 = {1,2,3,4}
s1.issuperset(s3)
True
s4 = {1,2,3}
s1.issuperset(s4)
True#other 可以是元组、列表、字典、字符串等
s5 = [1,2,3,4]
s1.issuperset(s5)
True
s6 = (1,2,3)
s1.issuperset(s6)
True
s7 = {1:'a',2:'b',3:'c',4:'d'}
s1.issuperset(s7)
True
s8 = {'1','2','3','4'}
s9 = '123'
s8.issuperset(s9)
True

4.2 set >= other

检测是否 other 中的每个元素都在集合之中,集合之间对比时,等价于s.issuperset()

运算符比较,other必须为集合,不支持列表、元组、字典、字符串等可迭代对象。

s1 = {1,2,3,4}# other 中存在不在集合中的元素,返回 True
s2 = {1,2,3,4,5}
s1 >= s2
False# other 中的每个元素都在集合之中,返回 True
s3 = {1,2,3,4}
s1 >= s3
True
s4 = {1,2,3}
s1 >= s4
True#运算符比较,other必须为集合,不支持列表、元组、字典、字符串等可迭代对象
s5 = [1,2,3,4]
s1 >= s5
Traceback (most recent call last):File "<input>", line 1, in <module>
TypeError: '>=' not supported between instances of 'set' and 'list'

4.3 set > other

检测集合是否为 other 的真超集,即 set >= other and set != other。

s1 = {1,2,3,4}# other 中存在不在集合中的元素,返回 False
s2 = {1,2,3,4,5}
s1 > s2
False#set == other,返回 False
s3 = {1,2,3,4}
s1 > s3
False# other 中的每个元素都在集合之中,且set != other,返回 True
s4 = {1,2,3}
s1 > s4
True

集合2:方法和运算符—适用set/frozenset(上)相关推荐

  1. 92_特殊方法(魔术方法)和运算符重载

    96.特殊方法(魔术方法)和运算符重载 python - 特殊方法查找-文档1 python - 特殊方法-文档2 Python的运算符实际上是通过调用对象的特殊方法实现的.比如: 测试代码1 a = ...

  2. python方法与重载_python特殊方法和运算符重载(番外--重载)

    python的运算符实际上是通过对象的特殊方法实现的 [例如] a=20 b=30 c=a+b d=a.__add__(b) print("c=",c) print("d ...

  3. python计算复数的辐角_Python 自定义类中的函数和运算符重载

    如果你曾在字符串(str)对象上进行过 + 或 * 运算,你一定注意到它跟整数或浮点数对象的行为差异: >>> # 加法 >>> 1 + 2 3 >>& ...

  4. JSP、EL和JSTL-学习笔记03【EL介绍和运算符、EL获取域中存储的数据】

    Java后端 学习路线 笔记汇总表[黑马程序员] JSP.EL和JSTL-学习笔记01[JSP基础语法] JSP.EL和JSTL-学习笔记02[MVC] JSP.EL和JSTL-学习笔记03[EL介绍 ...

  5. Mysql8【有与无】M12.函数和运算符

    函数和运算符 (一) 表达式可用于 SQL 语句中的多个点,例如 SELECT 语句的 ORDER BY 或 HAVING 子句,SELECT.DELETE 或 UPDATE 语句的 WHERE 子句 ...

  6. java犀牛书_犀牛书学习笔记(1):语法结构、数据类型和值、表达式和运算符...

    把这三个部分写在一起,是因为这些和JAVA几乎相同,如果你有JAVA或者C的基础,可以快速阅读.这里只记录几个不一样的,需要记住的地方: 1.直接量概念:其实就是用具体值直接赋值来创建变量,比如&qu ...

  7. stn算子_在 Excel 中,公式都是以 ____________ 开始的,后面由操作数和运算符构成。...

    [单选题]经典条件反射理论是()提出的 [单选题]本工程一层平面图中卫生间顶棚做法中大龙骨间距为( ) mm . [单选题]金代医家张子和治疗"卫德新之妻"一案中是( ) [阅读理 ...

  8. php中访问控制关键字,PHP 关于访问控制和运算符优先级简介

    这篇文章主要介绍了PHP中关于访问控制的和运算符优先级介绍,需要的朋友可以参考下   复制代码 代码如下: class Foo { private $name = 'hdj'; public func ...

  9. python input与返回值-Python基础教程之输入输出和运算符

    在我们python中输入输出函数在程序中运用较为广泛,运算符常用于if判断的条件中,今天我来给大家讲解这两项概念. input输入和print输出 input()输入函数 从标准输入设备(一般指键盘) ...

最新文章

  1. Win 2003的“远程桌面”需要进一步管理
  2. 基于存储过程的可扩展性数据访问框架
  3. 聚数引智,承德大数据产业对接交流会将于2019中国国际数字经济博览会期间召开...
  4. 软件工程——认识方法、模型、工具和技术
  5. 最新“母马”病毒反杀主流杀毒软件
  6. 使用arttemplate js模板引擎,直接用模板渲染,减少字符串拼接。
  7. LoadRunner中的参数与变量-产生20位的随机数
  8. VS2019写C++的警告C6262(请考虑将某些数据移到堆中)
  9. OpenCV调用摄像头录像并保存下来
  10. k8s集群配置域名证书支持https与http
  11. Illegal character in authority at index 18:
  12. 似然函数Likelihood function
  13. SourceTree跳过注册安装使用
  14. layui报错Uncaught TypeError: tree is not a function
  15. 计算机专业表白文案,521表白文案 2020简短深情的表白句子
  16. 计算机培训总结ppt用什么音乐,音乐教育行业年终总结ppt
  17. 解决配置vim之后不能鼠标右键复制问题
  18. 龙武2服务器正在维护,龙武2惊云服务器没有了
  19. Perl 旁站查询(站长工具提取)
  20. 波士顿房价预测python代码_使用Python和Numpy构建神经网络模型——波士顿房价预测案例...

热门文章

  1. 计算机管理没有本地用户和组控制面板,win10管理没有本地用户和组怎么办_win10电脑管理没有本地用户和组解决方法...
  2. 什么是时间序列数据?
  3. 使用echarts在地图中使用dispatchAction
  4. error LNK1123: 转换到 COFF 期间失败
  5. 后缀是lnk是什么文件_后缀lnk是什么文件格式(lnk文件怎么恢复word)
  6. C++信号量实现线程间同步,windows使用SetEvent,linux使用sem_t,QT测试
  7. Spotfire经验总结—累积百分比(帕累托图)的绘制方法
  8. Gephi简易学习[一]———— Gephi安装,并了解Gephi
  9. 计算机大赛剪辑的视频,视频剪辑大赛
  10. RuoYi 若依平台登录密码忘记了-如何解决