5.Python容器类型-2
5. 容器类型 - 2
5.1 元组
什么是元组
元组是存储多个数据的一种方式
元组与列表类似,不同之处在于元组的元素不能修改
元组使用小括号(),列表使用方括号[]
1 | aTuple = ('et',77,99.9) |
元组的使用
访问元组
1 | # 定义一个元组 |
不能修改元组
示例代码:
1 | # 定义一个元组 |
运行结果:
1 | Traceback (most recent call last): |
不能修改元组中的元素指的是如果当前元组中的元素为不可变对象则不能修改,如果是可变对象在不修改元素类型的情况下可以修改可变对象中的值。
可变对象:list、dict、set
不可变对象:tuple、string、int、float、bool
元组的作用
到现在我们知道元组也是可以存储多个数据的,列表也可以存储多个数据,那为什么有了列表还要有元组呢?而且元组还不能修改
why?
正是因为元组的特点是不能被修改,所以才有了存在它的理由,试想一个程序中有很多场景是有很多数据不能被修改的,这种情况下用列表容易被篡改,反而用元组恰到好处
多提一句,后面学习函数时,一个函数可以通过return返回多个数据,那时用的就是元组。
5.2 集合
什么是集合
集合是一种能够存储多个数据的方式
它最大的特点是:数据不能重复
也就是说
- 列表可以存储多个数据,支持增删改查
- 元组可以存储多个数据,不能修改
- 集合依然可以存储多个数据,数据不能重复
可见Python发明的列表、元组、集合各有特点各有千秋,希望大家多练习以便更快掌握它们的精髓
集合的使用
定义
1 | {元素1, 元素2, 元素3...} |
示例
1 | # 定义一个集合 |
运行结果:
1 | <class 'set'> |
集合的数据去重
1 | # 定义一个集合 |
运行结果:
1 | <class 'set'> |
集合无序
代码示例:
1 | # 定义一个集合 |
运行结果:
1 | In [1]: set_data = {'a', 'b', 'c', 'd', 'e', 'f'} |
注意点
- 列表、元组在定义时的顺序是怎样的,那么顺序就是怎样的
- 而集合的实际存储顺序与定义的顺序没有什么关系,而是与一个特殊的算法有关(把数据进行了哈希,这个我们暂不做深入讨论,只需要知道集合的顺序不确定即可)
5.3 容器类型的类型互转
引入
所谓互转,就是把一种数据类型在数值不变的情况下 转换为另外一种表示方式
当前容器类型的互转不包含字典!!!
基本使用
1 | nums1 = [11, 22, 33] # 定义列表 |
快速去重
使用set,可以快速的完成对list、tuple中的元素去重复的功能
1 | nums1 = [11, 22, 44, 33, 22, 11, 55, 666, 44, 33, 22] |
运行效果:
1 | {33, 11, 44, 22, 55, 666} |
集合中的内置方法
| 方法 | 描述 |
|---|---|
add() |
为集合添加元素 |
clear() |
移除集合中的所有元素 |
copy() |
拷贝一个集合 |
difference() |
返回多个集合的差集 |
difference_update() |
移除集合中的元素,该元素在指定的集合也存在。 |
discard() |
删除集合中指定的元素 |
intersection() |
返回集合的交集 |
intersection_update() |
返回集合的交集。 |
isdisjoint() |
判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
issubset() |
判断指定集合是否为该方法参数集合的子集。 |
issuperset() |
判断该方法的参数集合是否为指定集合的子集 |
pop() |
随机移除元素 |
remove() |
移除指定元素 |
symmetric_difference() |
返回两个集合中不重复的元素集合。 |
symmetric_difference_update() |
移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
union() |
返回两个集合的并集 |
update() |
给集合添加元素 |
- 标题: 5.Python容器类型-2
- 作者: Jinshuo Jiang
- 创建于 : 2025-09-30 21:37:54
- 更新于 : 2025-09-30 21:39:15
- 链接: https://redefine.ohevan.com/2025/09/30/Python container types-2/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论