Python 提供了一些非常灵活的数据容器,包括列表(list
)、元组(tuple
)、字符串(str
)、集合(set
)和字典(dict
)。但是对不同的数据容器会有通用操作。
1. Python中的常见数据容器
- 列表(List):有序、可变的数据容器,可以包含重复的元素,用方括号
[]
表示。 - 元组(Tuple):有序、不可变的数据容器,可以包含重复的元素,用圆括号
()
表示。 - 字符串(String):字符的有序序列,是不可变的数据类型,用引号
" "
或' '
表示。 - 集合(Set):无序、唯一的数据容器,元素不可重复,用花括号
{}
表示。 - 字典(Dictionary):键值对的数据容器,用于映射关系的存储,用花括号
{}
表示。
2.数据容器的常见通用操作
2.1 元素个数 len()
-
len()
函数用于获取容器中的元素个数。- 对于字典,
len()
返回的是键值对的数量。
- 对于字典,
2.2 最大元素 max()
-
max()
函数返回容器中的最大元素。- 对于字符串,
max()
返回按字母顺序(ASCII 值)排序时的最大字符。 - 对于字典,
max()
返回字典中按键排序的最大键。
- 对于字符串,
2.3 最小元素 min()
-
min()
函数返回容器中的最小元素。- 对于字符串,
min()
返回按字母顺序(ASCII 值)排序时的最小字符。 - 对于字典,
min()
返回字典中按键排序的最小键。
- 对于字符串,
2.4 排序 sorted()
-
sorted()
函数用于对容器进行排序,默认从小到大,使用reverse=True
可以实现降序。sorted()
对字典排序时,只排序字典的键,返回一个包含字典键的列表。- 对于字符串,
sorted()
返回一个包含字符的列表,按照字母顺序排序。
3. 数据容器之间的区别
数据容器 | 有序性 | 可变性 | 是否允许重复元素 | 访问方式 | 典型应用 |
---|---|---|---|---|---|
列表 | 有序 | 可变 | 允许 | 通过索引访问 | 存储有序数据 |
元组 | 有序 | 不可变 | 允许 | 通过索引访问 | 不可变有序数据 |
字符串 | 有序 | 不可变 | 允许 | 通过索引访问 | 字符序列 |
集合 | 无序 | 可变 | 不允许(唯一) | 不能通过索引访问 | 唯一元素集合 |
字典 | 无序 | 可变 | 键不允许重复,值允许 | 通过键访问 | 键值对映射 |
- 列表和元组:列表是可变的,适用于需要频繁修改数据的场景;元组不可变,适用于需要确保数据不被修改的场景。
- 字符串:类似元组,也是不可变的,但它是字符序列。
- 集合:无序且元素唯一,适用于需要去重的场景。
- 字典:存储键值对,适用于映射关系(如名称-值)的存储场景。
4. 总结
Python 中的列表、元组、字符串、集合和字典是用于不同场景的数据容器:
- 列表和元组适合存储有序数据,元组的不可变特性使其更适合于需要保持数据安全的场景。
- 集合用于存储唯一元素,常用于去重和集合运算。
- 字典是键值对的集合,适合描述映射关系。
len()
、max()
、min()
和sorted()
等函数是通用的操作函数,可以用于不同类型的数据容器,帮助快速获取元素数量、最大最小值以及排序。