Python set集合基本操作(添加、删除、交集、并集、差集)
向 set 集合中添加元素
set 集合中添加元素,可以使用 set 类型提供的 add() 方法实现,该方法的语法格式为:
setname.add(element)
其中,setname 表示要添加元素的集合,element 表示要添加的元素内容。
需要注意的是,使用 add() 方法添加的元素,只能是数字、字符串、元组或者布尔类型(True 和 False)值,不能添加列表、字典、集合这类可变的数据,否则 Python 解释器会报 TypeError 错误。例如:
a = {1,2,3} a.add((1,2)) print(a) a.add([1,2]) print(a)
运行结果为:
{(1, 2), 1, 2, 3}
Traceback (most recent call last):
File "C:/Users/mengma/Desktop/1.py", line 4, in <module>
a.add([1,2])
TypeError: unhashable type: 'list'
从set集合中删除元素
删除现有 set 集合中的指定元素,可以使用 remove() 方法,该方法的语法格式如下:
setname.remove(element)
使用此方法删除集合中元素,需要注意的是,如果被删除元素本就不包含在集合中,则此方法会抛出 KeyError 错误,例如:
a = {1,2,3} a.remove(1) print(a) a.remove(1) print(a)
运行结果为:
{2, 3}
Traceback (most recent call last):
File "C:/Users/mengma/Desktop/1.py", line 4, in <module>
a.remove(1)
KeyError: 1
上面程序中,由于集合中的元素 1 已被删除,因此当再次尝试使用 remove() 方法删除时,会引发 KeyError 错误。
如果我们不想在删除失败时令解释器提示 KeyError 错误,还可以使用 discard() 方法,此方法和 remove() 方法的用法完全相同,唯一的区别就是,当删除集合中元素失败时,此方法不会抛出任何错误。
例如:
a = {1,2,3} a.remove(1) print(a) a.discard(1) print(a)
运行结果为:
{2, 3}
{2, 3}
Python set集合做交集、并集、差集运算
集合最常做的操作就是进行交集、并集、差集以及对称差集运算,首先有必要给大家普及一下各个运算的含义。
![Python set集合基本操作(添加、删除、交集、并集、差集)](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/07/15/20210715_60f00c78d14f8.gif)
图 1 集合示意图
图 1 中,有 2 个集合,分别为 set1={1,2,3} 和 set2={3,4,5},它们既有相同的元素,也有不同的元素。以这两个集合为例,分别做不同运算的结果如表 1 所示。
运算操作 | Python运算符 | 含义 | 例子 |
---|---|---|---|
交集 | & | 取两集合公共的元素 |
>>> set1 & set2 {3} |
并集 | | | 取两集合全部的元素 |
>>> set1 | set2 {1,2,3,4,5} |
差集 | – | 取一个集合中另一集合没有的元素 |
>>> set1 – set2 {1,2} >>> set2 – set1 {4,5} |
对称差集 | ^ | 取集合 A 和 B 中不属于 A&B 的元素 |
>>> set1 ^ set2 {1,2,4,5} |
相关文章
- python qt是什么_初识Python与Qt「建议收藏」
- 苹果电脑python官网下载步骤-Python下载和安装图文教程[超详细]
- python移动app开发_神奇的Kivy,让Python快速开发移动app
- python电脑版微信-微信PC版的API接口 | 可通过Python调用微信功能
- python进制转换函数-Python中进制转换函数的使用
- python常用面试题_Python+Selenium 常见面试题整理[通俗易懂]
- python截图识别文字_Python文字截图识别OCR工具实例解析
- python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器
- python socket recvfrom_Python:socket.recvfrom()不返回任何地址
- Python: set集合方法介绍
- 【说站】Python curses库如何使用
- Python实现自动回复_python 微信机器人
- python图像多层小波分解_Python中图像小波分解与重构以及灰度图加噪
- 上手Python之set(集合)
- 在Python中生成随机数据
- Python一技:json.load() vs json.loads()
- 软件测试|Python神器pillow,从此拍照不再需要滤镜
- 软件测试|如何用Python绘制雷达图
- Python基础(十):列表的详细讲解
- Python关于全局解释器锁的提议
- Python frozenset集合(set集合的不可变版本)
- Python输出函数print()总结(python print())详解编程语言
- 安装Python MySQL驱动之快速指南(python安装mysql驱动)
- Python轻松连接SQL Server数据库(python连接sqlserver)
- 从 Python 连接到 MySQL:实现更多强大的数据库应用(python和mysql)
- MySQL中SET集合的使用方法及注意事项(mysql中set集合)
- 优化优化Redis集合Set的性能(redis集合set性能)
- Redis中Set值重复的检测方式(redis重复set)
- 从Redis中获取Set集合的简单方法(redis获取set集合)
- 手把手教你如何用 OpenCV + Python 实现人脸识别
- python使用在线API查询IP对应的地理位置信息实例
- 零基础学Python(一)Python环境安装