目录

1. s.update(*others)

2. s.intersection_update(*others)

3. s.difference_update(*others)

4. s.symmetic_difference_update(other)

5. s.add(elem)

6. s.remove(elem)

7. s.discard(elem)

8. s.pop()

9. s.clear()


会对原集合做修改的方法,仅能用于set对象,而不能用于frozenset对象

1. s.update(*others)

使用 others 容器中的元素来更新集合,即更新s集合,内容为s和others的并集【参见5. 并集 】;

other可以是列表、元组、字典、字符串等,字典是由键的集合参与并集,字符串是单个字符做为元素参与并集;

*others 可以是多个参数。

#使用 others 容器中的元素来更新集合,即s被更新为s和others的并集
s1 = {1,2,3,4}
s2 = {0,0.1,-2j,(3,4),frozenset({5,6}),'789'}
s1.update(s2)
s1
{0, 1, 2, 3, 4, 0.1, (3, 4), frozenset({5, 6}), (-0-2j), '789'}#*others 可以是多个参数
s1 = {1,2,3,4}
s3 = {'1',2.0,0.10,3j,4}
s1.update(s2,s3)
s1
{0, 1, 2, 3, 4, 0.1, (3, 4), '1', 3j, frozenset({5, 6}), (-0-2j), '789'}#other可以是列表、元组、字典、字符串等
s1 = {1,2,3}
s2 = [0,2,4]
s3 = (1,3,5)
s4 = {2:'a',6:'b',10:'c'}
s5 = '1789'
s1.update(s2,s3,s4,s5)
s1
{0, 1, 2, 3, 4, 5, 6, '1', '7', '8', 10, '9'}

2. s.intersection_update(*others)

更新 s 集合,其内容是 s 集合与 others 容器的交集,【参见6. 交集】;

other可以是列表、元组、字典、字符串等,字典是由键的集合参与并集,字符串是单个字符做为元素参与并集;

*others 可以是多个参数。

s1 = {1,2,3,4,5}
s2 = {0,1.0,2j,3,(4,5),'6'}
s3 = {5,1,'abc',frozenset({1,2,3})}#更新 s 集合,其内容是 s 集合与 others 容器的交集
s1.intersection_update(s2)
s1
{1, 3}
s1 = {1,2,3,4,5}
s1.intersection_update(s3)
s1
{1, 5}#*others 可以是多个参数
s1 = {1,2,3,4,5}
s1.intersection_update(s2,s3)
s1
{1}#other可以是列表、元组、字典、字符串等
s1 = {1,2,'3',4,5}
s2 = [0,1,2,'3','4']
s3 = ('3',(4,5),1,2)
s4 = {1:4,'3':5,2:'xxx',(5,):'yyy'}
s5 = '12345'
s1.intersection_update(s2,s3,s4)
s1
{1, 2, '3'}
s1 = {1,2,'3',4,5}
s1.intersection_update(s2,s3,s4,s5)
s1
{'3'}

3. s.difference_update(*others)

更新 s 集合,其内容是 s 集合与 others 容器的差集,【参见7. 差集】;

other可以是列表、元组、字典、字符串等,字典是由键的集合参与并集,字符串是单个字符做为元素参与并集;

*others 可以是多个参数。

s1 = {1,2,3,4,5}
s2 = {1,2.0,'3',(4,5),6,7,8}
s3 = {5,0,1,'s234'}#更新 s 集合,其内容是 s 集合与 others 容器的差集
s1.difference_update(s2)
s1
{3, 4, 5}
s1 = {1,2,3,4,5}
s1.difference_update(s3)
s1
{2, 3, 4}#*others 可以是多个参数
s1 = {1,2,3,4,5}
s1.difference_update(s2,s3)
s1
{3, 4}#other可以是列表、元组、字典、字符串等
s1 = {1,2,3,4,5}
s1 = {1,2,'3',4,5}
s2 = [0,1.1,2.0,(4,5),'aaa']
s3 = (2,0,'45',1)
s4 = {'1':1,'4':4,'5':5,6:'6'}
s5 = '12345'
s1.difference_update(s2,s3,s4)
s1
{4, 5, '3'}
s1 = {1,2,'3',4,5}
s1.difference_update(s2,s3,s4,s5)
s1
{4, 5}

4. s.symmetic_difference_update(other)

更新 s 集合,其内容是排除掉 s 集合和 other 容器中共有的元素后,剩余的所有元素,【参见8. 对称差集】;

other可以是列表、元组、字典、字符串等,字典是由键的集合参与并集,字符串是单个字符做为元素参与并集;

该方法只能调用一个参数。

s1 = {1,2,3,4,5}
s2 = {5,'4',(1,2),3j,0,'abc'}
s3 = {1,3,5,7,9}#更新 s 集合,其内容是排除掉 s 集合和 other 容器中共有的元素后,剩余的所有元素
s1.symmetric_difference_update(s2)
s1
{0, 1, 2, 3, 4, (1, 2), '4', 3j, 'abc'}
s1 = {1,2,3,4,5}
s1.symmetric_difference_update(s3)
s1
{2, 4, 7, 9}#该方法只能调用一个参数。
s1 = {1,2,3,4,5}
s1.symmetric_difference_update(s2,s3)
Traceback (most recent call last):File "<input>", line 1, in <module>
TypeError: set.symmetric_difference_update() takes exactly one argument (2 given)#other可以是列表、元组、字典、字符串等
s1 = {1,2,3,4,5}
s2 = [0,2,4,'5',6]
s1.symmetric_difference_update(s2)
s1
{0, 1, 3, 5, 6, '5'}s1 = {1,2,3,4,5}
s3 = (frozenset({1,2,3}),4,5,6)
s1.symmetric_difference_update(s3)
s1
{1, 2, 3, 6, frozenset({1, 2, 3})}s1 = {1,2,3,4,5}
s4 = {'1':'x',2:'y',3:'z','4':5}
s1.symmetric_difference_update(s4)
s1
{1, 4, 5, '1', '4'}s1 = {'1',2,'3',4,'5'}
s5 = '12345'
s1.symmetric_difference_update(s5)
s1
{2, '4', 4, '2'}

5. s.add(elem)

将 elem 元素添加到 s 集合中;

elem需要满足集合元素要求,即参考可哈希:hashable ;

.add()只能添加一个参数,少于或大于1个都报错,添加参数无序插入s集合中。

s1 = {1,2,3}#添加整型元素
s1.add(4)
s1
{1, 2, 3, 4}#添加字符串元素
s1.add('5')
s1
{1, 2, 3, 4, '5'}#添加元组元素
s1.add(('67','8'))
s1
{1, 2, 3, 4, '5', ('67', '8')}#添加冻结集合元素
s1.add(frozenset({9,10}))
s1
{1, 2, 3, 4, frozenset({9, 10}), '5', ('67', '8')}#添加浮点数元素
s1.add(10.1)
s1
{1, 2, 3, 4, frozenset({9, 10}), 10.1, '5', ('67', '8')}#添加复数元素
s1.add(-11j)
s1
{1, 2, 3, 4, frozenset({9, 10}), 10.1, '5', ('67', '8'), (-0-11j)}#只能添加1个元素,否则报错
s1.add(10.1,11j)
Traceback (most recent call last):File "<input>", line 1, in <module>
TypeError: set.add() takes exactly one argument (2 given)
s.add()
Traceback (most recent call last):File "<input>", line 1, in <module>
TypeError: set.add() takes exactly one argument (0 given)

6. s.remove(elem)

将 elem 元素从 s 集合中移除;

如果不存在该元素,则抛出 KeyError 异常;

只能输入1个elem元素,元素数量小于1或大于1,报错。

s = {0,1.1,-2j,(3,'xxx'),frozenset({'yyy',4}),'567abc'}#只能输入1个elem元素,元素数量小于1或大于1,报错
s.remove()
Traceback (most recent call last):File "<input>", line 1, in <module>
TypeError: set.remove() takes exactly one argument (0 given)
s.remove(0,1.1)
Traceback (most recent call last):File "<input>", line 1, in <module>
TypeError: set.remove() takes exactly one argument (2 given)#移除整数
s.remove(0)
s#移除冻结集合
{1.1, frozenset({'yyy', 4}), (3, 'xxx'), '567abc', (-0-2j)}
s.remove({'yyy',4})
s
{1.1, (3, 'xxx'), '567abc', (-0-2j)}#如果不存在该元素,则抛出 KeyError 异常
s.remove((3,))
Traceback (most recent call last):File "<input>", line 1, in <module>
KeyError: (3,)#移除元组
s.remove((3,'xxx'))
s
{1.1, '567abc', (-0-2j)}#移除浮点数
s.remove(1.1)
s
{'567abc', (-0-2j)}#移除复数
s.remove(-2j)
s
{'567abc'}#如果不存在该元素,则抛出 KeyError 异常
s.remove('567')
Traceback (most recent call last):File "<input>", line 1, in <module>
KeyError: '567'#移除字符串元素,集合为空
s.remove('567abc')
s
set()

7. s.discard(elem)

将 elem 元素添加到 s 集合中移除;

即如果s集合中不存在elem元素,先添加elem元素再移除,原集合中没有elem元素也不报错;

只能输入1个elem元素,元素数量小于1或大于1,报错。

s = {0,1.1,-2j,(3,'xxx'),frozenset({'yyy',4}),'567abc'}#只能输入1个elem元素,元素数量小于1或大于1,报错
s.discard()
Traceback (most recent call last):File "<input>", line 1, in <module>
TypeError: set.discard() takes exactly one argument (0 given)
s.discard(1.1,0)
Traceback (most recent call last):File "<input>", line 1, in <module>
TypeError: set.discard() takes exactly one argument (2 given)#移除整数
s.discard(0)
s
{1.1, frozenset({'yyy', 4}), (3, 'xxx'), '567abc', (-0-2j)}#移除集合中不存在的冻结集合,不报错,冻结集合未删除
s.discard({'yyy'})
s
{1.1, frozenset({'yyy', 4}), (3, 'xxx'), '567abc', (-0-2j)}#移除冻结集合
s.discard({'yyy',4})
s
{1.1, (3, 'xxx'), '567abc', (-0-2j)}#移除集合中不存在的字符串,不报错,字符串未删除
s.discard('567')
s
{1.1, (3, 'xxx'), '567abc', (-0-2j)}#移除字符串
s.discard('567abc')
s
{1.1, (3, 'xxx'), (-0-2j)}#移除复数
s.discard(-2j)
s
{1.1, (3, 'xxx')}#移除集合中不存在的元组,不报错,字符串未删除
s.discard(('xxx',))
s
{1.1, (3, 'xxx')}#移除元组
s.discard((3,'xxx'))
s
{1.1}#移除浮点数,集合数据全部移除为空
s.discard(1.1)
s
set()

8. s.pop()

从 s 集合中移除并返回任意一个元素,移除顺序随机;

如果集合为空,则抛出 KeyError 异常。

s = {0,1.1,-2j,(3,'xxx'),frozenset({'yyy',4}),'567abc'}#从 s 集合中移除并返回任意一个元素,移除顺序随机
s.pop()
0
s.pop()
1.1
s.pop()
frozenset({'yyy', 4})
s.pop()
(3, 'xxx')
s.pop()
'567abc'
s.pop()
(-0-2j)#如果集合为空,则抛出 KeyError 异常
s.pop()
Traceback (most recent call last):File "<input>", line 1, in <module>
KeyError: 'pop from an empty set'

9. s.clear()

删除 s 集合中的所有元素。

s = {0,1.1,-2j,(3,'xxx'),frozenset({'yyy',4}),'567abc'}
s.clear()
s
set()

集合4:方法-仅适用于set相关推荐

  1. mysql 5.6.6_Mysql下Limit注入方法(此方法仅适用于5.0.0mysql5.6.6的版本)

    SQL语句类似下面这样:(此方法仅适用于5.0.0 SELECT field FROM table WHERE id > 0 ORDER BY id LIMIT (注入点) 问题的关键在于,语句 ...

  2. ajax 输入一个整数,jQuery.ajax()仅适用于整数

    一切工作正常,并整数/浮动花花公子,但是当我输入一个字符串到文本框中的数据永远不会收到的C#方法GetData.jQuery.ajax()仅适用于整数 ASP代码 JQUERY function as ...

  3. 【java笔记】of方法 JDK9对集合添加方法的优化

    JDK9的新特性: List接口,Set接口,Map接口:增加了一个静态的方法of,可以给集合一次性添加多个元素 使用前提:当集合中储存的元素的个数已经确定,不在改变时使用 注意: 1.of方法只适用 ...

  4. java集合的方法及使用详解

    一.java集合的分类及相互之间的关系 Collection接口:向下提供了List和Set两个子接口 |------List接口:存储有序的,存储元素可以重复 |------ArrayList(主要 ...

  5. 快速将彩色照片变成黑白照片(仅适用于jpg格式)

    上篇文章写了将彩色图片变成黑白照片的一个方法,该方法遍历图片色素,然后通过公式将彩色变成黑白,效率十分低下. 今天做了下修改,效率大概提高了1000倍吧 测试图如下: 214452542是上个方法的执 ...

  6. java9新特性--jShell--命令语法改进:try语和接口的私有方法--String存储结构变更--集合工厂方法--模块化系统--InputStream 加强--增强的 Stream API

    目录 Java 9 的新特性 JDK 和 JRE 目录结构的改变 模块化系统: Jigsaw -> Modularity 实现目标 模块 结构 jShell命令 产生背景 设计理念 实现目标 j ...

  7. java hashedmap_Java基础 - Map接口的实现类 : HashedMap / LinkedHashMap /TreeMap 的构造/修改/遍历/ 集合视图方法/双向迭代输出...

    import java.util.*; /**一:Collection接口的 * Map接口: HashMap(主要实现类) : HashedMap / LinkedHashMap /TreeMap ...

  8. pytorch torch.item()(返回此张量的值作为标准Python数字。 这仅适用于具有一个元素的张量。)

    https://pytorch.org/docs/1.1.0/tensors.html?highlight=item#torch.Tensor.item item() → number Returns ...

  9. Set精讲(Java)·算法常用集合处理方法

    Set精讲(Java)·算法常用集合处理方法 Set概述 Set集合类似于一个罐子,程序可以依次把多个对象"丢进"Set集合,而Set集合通常不能记住元素的添加顺序.实际上Set就 ...

最新文章

  1. 机器学习的核心要素是什么?它们分别作了什么工作?
  2. springboot整合hibernate_峰哥说技术系列-17 .Spring Boot 整合 Spring Data JPA
  3. 史上最快消息内核——ZeroMQ
  4. c语言输入坐标判断位置,〓求助〓谁能帮忙编个程序:输入N个点坐标,判断能否构成多边形....
  5. [网络流24题] 最长递增子序列
  6. 海报设计素材|中国风的插画设计,国画浓抹中国色彩
  7. 处理增删改_实现数据的增删改查
  8. 夺命雷公狗---ECSHOP---01-解决报错问题
  9. Cufon中文字符无法识别的解决方案
  10. python发送电子邮件
  11. mysql网络数据库设计与开发6_MYSQL网络数据库设计与开发/秦凤梅/教材
  12. 无线传感器网络实验与作业总结
  13. 基于多种分隔符进行字符串的分割
  14. 游戏安全反汇编分析开启取消自动攻击call
  15. python面试题库知乎_知乎面试题刷题
  16. gorilla/mux 翻译
  17. 百度seo快排点击系统源码[易语言]拨号模拟点击(仅供学习使用!)
  18. win11右键直接显示更多选项
  19. TensorFlow c++ SessionFactory注册与No session factory registered错误
  20. 2015十大最具影响力的推广—兄弟连IT教育

热门文章

  1. 一个本土科技精英的近况
  2. 服务器意外断电的数据恢复过程
  3. 码云修改密码后如何重置密码
  4. 谷歌工程师阴谋干掉IE6的尘封往事
  5. 【学习笔记】零基础入门NLP - 新闻文本分类实战
  6. 有冒险才会有精彩!转行软件测试,我从不后悔
  7. 【java基础】java异常,捕获与抛出
  8. FPGA与PCI-E
  9. obsidian和zotero联动
  10. 一键分享怎么可以找回删除的照片小技巧