Python3 集合set操作详解
180 浏览量
更新于2024-08-29
收藏 141KB PDF 举报
"Python3集合set入门基础"
Python3中的集合(set)是一种数据结构,它存储了一组不重复的元素,这些元素是无序的。集合的创建可以通过两种方式:使用大括号 `{}` 或调用内置的 `set()` 函数。然而,需要注意的是,空集合必须使用 `set()` 创建,而不能使用 `{}`,因为后者会创建一个空字典。
集合与字典之间存在一定的关系,虽然它们都是无序的数据结构,但字典是由键值对组成,而集合只包含单一的元素。集合的一个显著特点是其元素的唯一性,这意味着集合内的每个元素都是独一无二的,不会出现重复。此外,集合不支持索引访问,即不能像列表那样通过索引来获取特定位置的元素。
创建集合的语法如下:
```python
parame = {value01, value02, ...}
```
或者
```python
set(value)
```
例如:
```python
num1 = {1, 2, 3, 4}
num2 = set(['q', 'w', 'e', 'r'])
```
集合还提供了多种操作方法,如添加元素、删除元素、集合间运算等。添加元素可以使用 `add()` 方法:
```python
s.add(x)
```
这将x添加到集合s中,如果x已经存在于集合中,该操作不会执行任何改变。
集合间的运算包括交集、并集、差集和对称差集:
- 交集:`a & b` 返回同时存在于集合a和b中的元素。
- 并集:`a | b` 返回集合a或b中任意一个集合的所有元素。
- 差集:`a - b` 返回存在于集合a但不在集合b中的元素。
- 对称差集:`a ^ b` 返回既不在a又不在b,或在a不在b,或在b不在a的元素。
例如:
```python
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a & b # 交集 {'a', 'c'}
>>> a | b # 并集 {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
>>> a - b # 差集 {'r', 'd', 'b'}
>>> a ^ b # 对称差集 {'r', 'd', 'b', 'm', 'z', 'l'}
```
集合还支持集合推导式,类似于列表推导式,用于快速创建新的集合:
```python
a = {x for x in 'abracadabra' if x not in 'abc'}
```
上面的代码将创建一个只包含不在'abc'中的字符的新集合。
集合在处理数据去重、快速查找成员以及集合运算等方面非常有用,是Python编程中一个强大的工具。在实际编程中,可以根据需求灵活运用集合来优化代码逻辑和提高效率。
2023-06-11 上传
258 浏览量
2023-03-15 上传
2023-05-13 上传
2024-09-06 上传
2023-07-28 上传
2023-06-07 上传
2024-06-21 上传
2023-05-30 上传
weixin_38659955
- 粉丝: 4
- 资源: 915
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析