集合4:方法-仅适用于set
目录
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相关推荐
- 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 (注入点) 问题的关键在于,语句 ...
- ajax 输入一个整数,jQuery.ajax()仅适用于整数
一切工作正常,并整数/浮动花花公子,但是当我输入一个字符串到文本框中的数据永远不会收到的C#方法GetData.jQuery.ajax()仅适用于整数 ASP代码 JQUERY function as ...
- 【java笔记】of方法 JDK9对集合添加方法的优化
JDK9的新特性: List接口,Set接口,Map接口:增加了一个静态的方法of,可以给集合一次性添加多个元素 使用前提:当集合中储存的元素的个数已经确定,不在改变时使用 注意: 1.of方法只适用 ...
- java集合的方法及使用详解
一.java集合的分类及相互之间的关系 Collection接口:向下提供了List和Set两个子接口 |------List接口:存储有序的,存储元素可以重复 |------ArrayList(主要 ...
- 快速将彩色照片变成黑白照片(仅适用于jpg格式)
上篇文章写了将彩色图片变成黑白照片的一个方法,该方法遍历图片色素,然后通过公式将彩色变成黑白,效率十分低下. 今天做了下修改,效率大概提高了1000倍吧 测试图如下: 214452542是上个方法的执 ...
- java9新特性--jShell--命令语法改进:try语和接口的私有方法--String存储结构变更--集合工厂方法--模块化系统--InputStream 加强--增强的 Stream API
目录 Java 9 的新特性 JDK 和 JRE 目录结构的改变 模块化系统: Jigsaw -> Modularity 实现目标 模块 结构 jShell命令 产生背景 设计理念 实现目标 j ...
- java hashedmap_Java基础 - Map接口的实现类 : HashedMap / LinkedHashMap /TreeMap 的构造/修改/遍历/ 集合视图方法/双向迭代输出...
import java.util.*; /**一:Collection接口的 * Map接口: HashMap(主要实现类) : HashedMap / LinkedHashMap /TreeMap ...
- pytorch torch.item()(返回此张量的值作为标准Python数字。 这仅适用于具有一个元素的张量。)
https://pytorch.org/docs/1.1.0/tensors.html?highlight=item#torch.Tensor.item item() → number Returns ...
- Set精讲(Java)·算法常用集合处理方法
Set精讲(Java)·算法常用集合处理方法 Set概述 Set集合类似于一个罐子,程序可以依次把多个对象"丢进"Set集合,而Set集合通常不能记住元素的添加顺序.实际上Set就 ...
最新文章
- 机器学习的核心要素是什么?它们分别作了什么工作?
- springboot整合hibernate_峰哥说技术系列-17 .Spring Boot 整合 Spring Data JPA
- 史上最快消息内核——ZeroMQ
- c语言输入坐标判断位置,〓求助〓谁能帮忙编个程序:输入N个点坐标,判断能否构成多边形....
- [网络流24题] 最长递增子序列
- 海报设计素材|中国风的插画设计,国画浓抹中国色彩
- 处理增删改_实现数据的增删改查
- 夺命雷公狗---ECSHOP---01-解决报错问题
- Cufon中文字符无法识别的解决方案
- python发送电子邮件
- mysql网络数据库设计与开发6_MYSQL网络数据库设计与开发/秦凤梅/教材
- 无线传感器网络实验与作业总结
- 基于多种分隔符进行字符串的分割
- 游戏安全反汇编分析开启取消自动攻击call
- python面试题库知乎_知乎面试题刷题
- gorilla/mux 翻译
- 百度seo快排点击系统源码[易语言]拨号模拟点击(仅供学习使用!)
- win11右键直接显示更多选项
- TensorFlow c++ SessionFactory注册与No session factory registered错误
- 2015十大最具影响力的推广—兄弟连IT教育