一.数据容器总结
组合数据类型container objects:能够表示多个数据的类型
集合类型:集合类型是一个元素集合,元素无序不重不变
序列类型:序列类型是一个元素向量,元素有序可重可变可不变。序列类型的典型代表是列表类型、元组类型、字符串类型(但元组一旦定义,元素就不能变了)
映射类型:映射类型是“键-值”数据项的组合,元素无序不重,键不可变,值可变可不变,每个元素是一个键值对。映射类型的典型代表是字典类型
集合类型是一个具体的数据类型名称,而序列类型和映射类型是一类数据类型的总称。
不可变数据类型:immutable,如数字、元组、字符串
可变数据类型:mutable,如列表、集合、字典
可迭代对象:iterable,如range()、序列(列表元组字符串)、集合、字典、文件,generator
不可迭代对象:如数字
二.数据容器分类
列表的特点:可以存储多个元素 | 元组的特点:可以存储多个元素 可以存储不同类型数据 | |
字符串的特点:可以存储多个元素只能存储字符串类型 支持下标索引 不支持修改 支持重复 支持for循环 支持while循环 | 集合特点总结:
| 字典特点总结:
|
三.基于各类数据容器的特点,它们的应用场景如下:
列表:一批数据,可修改、可重复的存储场景
元组:一批数据,不可修改、可重复的存储场景
字符串:一串字符串的存储场景
集合:一批数据,去重存储场景
字典:一批数据,可用Key检索Value的存储场景
四.数据容器的通用操作 - 遍历:
5类数据容器都支持for循环遍历 列表、元组、字符串支持while循环,集合、字典不支持(无法下标索引)
数据容器的通用统计功能:
len(容器) 统计容器的元素个数
max(容器) 统计容器的最大元素
min(容器) 统计容器的最小元素
容器通用排序功能:
sorted(容器, reverse=True) 将给定容器进行排序
注意,排序后都会得到列表(list)对象。
tuple = (4, 2, 7, 1, 5) a = sorted(tuple, reverse=True) # 降序 print(a) # [7, 5, 4, 2, 1] a = sorted(tuple, reverse=False) # 升序 print(a) # [1, 2, 4, 5, 7] print(type(a)) # 元组容器排序后变成了列表,<class 'list'>
容器的通用转换功能:
str(容器) 将给定容器转换为字符串
set(容器) 将给定容器转换为集合
tuple(容器) 将给定容器转换为元组
list(容器) 将给定容器转换为列表
list = ['one,two', '12', '三,四,五,六'] print(type(tuple(list))) print(type(set(list))) print(type(str(list))) ''' <class 'tuple'> <class 'set'> <class 'str'> '''