python集合 集合(英文名 set),它是一个无序的不重复元素序列。
这里面有两个重点:
无序,
不重复
1. 创建集合 集合的创建有两种方法
第一种方法:使用 花括号 {} 直接创建,创建的时候,{} 可以包含有重要的元素,但是创建完后,集合会去重,只留第一个。
>>> aset = {apple, huawei, xiaomi}>>> asetset(['huawei', 'xiaomi', 'apple']) 第二种方法:使用 set() 方法进行创建,当set() 函数不接任何参数时,创建的是空集合,如果不创建空集合,可以传入一个列表。
>>> bset = set() # 空集合>>> bsetset([])>>> cset = set([apple, huawei, xiaomi])>>> csetset(['huawei', 'apple', 'xiaomi']) 2. 增删改查 增加元素 使用 add 函数可以往集合中传入函数
>>> aset = set()>>> asetset([])>>> aset.add(apple)>>> aset.add(huawei)>>> asetset(['huawei', 'apple']) 另外,还可以使用 update 函数,来往集合中添加元素,update 函数后可接集合,列表,元组,字典等。
这是接集合的例子
>>> aset = set()>>> asetset([])>>>>>> # 接集合>>> aset.update({apple})>>> asetset(['apple'])>>>>>> # 接列表>>> aset.update([huawei])>>> asetset(['huawei', 'apple'])>>>>>> # 接元组>>> aset.update((xiaomi,))>>> asetset(['huawei', 'apple', 'xiaomi'])>>>>>> # 接字典>>> aset.update({vivo: xxxx})>>> asetset(['huawei', 'apple', 'vivo', 'xiaomi']) 删除元素 使用 remove 函数可以删除集合中的元素
>>> aset = {apple, huawei, xiaomi}>>> aset.remove(xiaomi)>>> asetset(['huawei', 'apple']) 使用 remove 函数,如果对应的元素不存在,是会报错的。
>>> aset = {apple, huawei, xiaomi}>>> aset.remove(vivo)traceback (most recent call last): file , line 1, in keyerror: 'vivo' 对于这种情况,你可以使用 discard 函数,存在元素则移除,不存在也不会报错。
>>> aset = {apple, huawei, xiaomi}>>> aset.discard(vivo)>>> asetset(['huawei', 'xiaomi', 'apple']) 此外,还有一个 pop 函数,用于从集合中随机删除元素,和列表、字典的 pop 不一样,这里的 pop 不能加任何的参数。
>>> aset = {apple, huawei, xiaomi}>>> aset.pop()'huawei'>>> aset.pop()'xiaomi'>>> aset.pop()'apple' 最后,还要介绍一个 clear 函数,它用于清空集合的元素。
>>> aset = {apple, huawei, xiaomi}>>> asetset(['huawei', 'xiaomi', 'apple'])>>> aset.clear()>>> asetset([]) 修改元素 文章开头处,已经说明了集合是 无序 的,因此集合是没有索引的。
既然没有索引,修改也无从谈起。
记住:集合只有添加元素、删除元素。
查询元素 同上,没有顺序,也就没有索引,没有索引,查询也无从谈起。
但是我们可以查看集合的其他内容
比如,查看集合的长度
>>> aset = {apple, huawei, xiaomi}>>> len(aset)3 3. 集合运算 求合集 将两个集合进行合并并去重,可以使用 union 函数,下面的示例中,由于 huawei 是重复的元素,只会保留一个。
>>> aset = {apple, huawei}>>> bset = {xiaomi, huawei}>>> aset.union(bset)set(['huawei', 'apple', 'xiaomi']) 另外还可以使用 | 的操作符
>>> aset = {apple, huawei}>>> bset = {xiaomi, huawei}>>> aset | bsetset(['huawei', 'apple', 'xiaomi']) 求差集 要找出存在集合 a 但是不存在 集合 b 的元素,就是对两个集合求差集。
可以使用 difference 函数,下面的示例中, apple 在 aset 中存在,但在 bset 中不存在。
>>> aset = {apple, huawei}>>> bset = {xiaomi, huawei}>>> aset.difference(bset)set(['apple']) 另外还可以使用 - 的操作符,更加直观
>>> aset = {apple, huawei}>>> bset = {xiaomi, huawei}>>> aset - bsetset(['apple']) 求交集 要找出存在集合 a 并且存在集合 b 的元素,就是对两个集合求交集。
可以使用 intersection 函数
>>> aset = {apple, huawei}>>> bset = {xiaomi, huawei}>>> aset.intersection(bset)set(['huawei'])>>> 和 intersection 相似的还有一个 intersection_update 函数,它们的区别是,intersection_update 会原地更新在 aset 上,而不是会回交集。
>>> aset = {apple, huawei}>>> bset = {xiaomi, huawei}>>> aset.intersection_update(bset)>>> asetset(['huawei']) 另外还可以使用 & 的操作符
>>> aset = {apple, huawei}>>> bset = {xiaomi, huawei}>>> aset & bsetset(['huawei']) 求不重合集 如果计算两个集合中不重复的元素集合,可以使用 symmetric_difference 函数
>>> aset = {apple, huawei}>>> bset = {xiaomi, huawei}>>> aset.symmetric_difference(bset)set(['xiaomi', 'apple']) 和 symmetric_difference 相似的还有一个 symmetric_difference_update 函数,它们的区别是,symmetric_difference_update 会原地更新在 aset 上,而不是直接返回。
>>> aset = {apple, huawei}>>> bset = {xiaomi, huawei}>>> aset.symmetric_difference_update(bset)>>> asetset(['apple', 'xiaomi']) 4. 集合判断 判断是否有某元素>>> aset = {apple, huawei}>>> apple in asettrue 判断两集合是否有相同元素 如果两集合有相同元素,则返回 false,如果没有相同元素,则返回 true
飞兆新型 MOTION SPM 5系列为小型家用电器提供热感应和稳定的电磁干扰性能
LDO几个重要参数的个人理解
设定相位同调RF量测系统:从 MIMO 到波束赋形详细教程
大棚杀虫灯提高了农村蔬菜种植户的经济收入
比亚迪中标以色列最大纯电动大巴订单
python集合是什么
ADAS系统在汽车市场的应用及发展解析
梅特勒-托利多水分含量测定和热分析技术测定解决方案
RF无线模块助力打造机器人群控系统详细教程
5G与4G有什么区别它能干什么
碳化硅特色工艺模块简介
电机的转子动平衡检测要点分析
外部硬盘驱动器自动加密技术
最新国产无线充电方案4大优势实测分析
风冷散热器的选配
反馈电路的概念_什么叫反馈电路
户外安防摄像头气密性测试仪技术参数如何设置?
PLC/DCS系统控制柜的安装接线如何实现快速有效
汽车mcu的功能和作用 ECU和MCU的关系
浅谈射频开关设计的四个重要指标