目录
一.数据容器可以从以下视角进行简单的分类:
1.是否支持下标索引
2.是否支持重复元素:
3.是否可以修改
二.数据容器特点对比
三.数据容器的通用操作
1.遍历
2.len(容器)、max(容器)、min(容器)
3.类型转换
注意
4.排序
一.数据容器可以从以下视角进行简单的分类:
1.是否支持下标索引
- 支持:列表、元组、字符串–序列类型
- 不支持:集合、字典-非序列类型
2.是否支持重复元素:
- 支持:列表、元组、字符串–序列类型。
- 不支持:集合、字典–非序列类型
3.是否可以修改
- 支持:列表、集合、字典。
- 不支持:元组、字符串
二.数据容器特点对比
列表 | 元组 | 字符串 | 集合 | 字典 | |
元素个数 | 多个 | 多个 | 多个 | 多个 | 多个 |
元素类型 | 任意 | 任意 | 仅字符 | 任意 | key:value key:除字典外任意类型 value:任意类型 |
下标索引 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
重复元素 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
可修改性 | 支持 | 不支持 | 不支持 | 支持 | 支持 |
数据有序 | 是 | 是 | 是 | 否 | 否 |
使用场景 | 可修改、可重复的数据记录场景 | 不可修改、可重复的一批数据记录场景 | 一串字符的记录场景 | 不可重复的数据记录场景 | 以Key检索value的数据记录场景 |
三.数据容器的通用操作
数据容器尽管各自有各自的特点,但是它们也有通用的一些操作。
- 遍历
- len(容器)
- max(容器)
- min(容器)
- list(容器)将给定的容器转换为列表
- str(容器)将给定的容器转换为字符串
- tuple(容器)将给定的容器转换为元组
- set(容器)将给定的容器转换为集合
- 排序
1.遍历
- 5类数据容器都支持for循环遍历
- 列表、元组、字符串支持while循环,集合、字典不支持(无法下标索引)
尽管遍历的形式各有不同,但是,它们都支持遍历操作。
2.len(容器)、max(容器)、min(容器)
演示
my_list = [2,34,53,6]
my_tuple = (3,5,2,6)
my_str = "abcdcba"
my_set = {1,4,2,6,7}
print(f"max(my_list)结果是{max(my_list)}")
print(f"min(my_list)结果是{min(my_list)}")
print(f"len(my_list)结果是{len(my_list)}")
print("------------------------------")
print(f"max(my_tuple)结果是{max(my_tuple)}")
print(f"min(my_tuple)结果是{min(my_tuple)}")
print(f"len(my_tuple)结果是{len(my_tuple)}")
print("------------------------------")
print(f"max(my_str)结果是{max(my_str)}")
print(f"min(my_str)结果是{min(my_str)}")
print(f"len(my_str)结果是{len(my_str)}")
print("------------------------------")
print(f"max(my_set)结果是{max(my_set)}")
print(f"min(my_set)结果是{min(my_set)}")
print(f"len(my_set)结果是{len(my_set)}")
结果是
3.类型转换
演示
my_list = [2,34,53,6]
print(my_list)
print(f"my_list的类型是{type(my_list)}")
my_list1=tuple(my_list)
print(my_list1)
print(f"经过tuple(my_list)后my_list的类型是{type(my_list)}")
print(f"经过tuple(my_list)后my_list1的类型是{type(my_list1)}")
print("---------------------------------")
my_tuple = (3,5,2,6)
print(my_tuple)
print(f"my_tuple的类型是{type(my_tuple)}")
my_tuple1=set(my_tuple)
print(my_tuple1)
print(f"经过set(my_tuple)后my_tuple的类型是{type(my_tuple)}")
print(f"经过set(my_tuple)后my_tuple1的类型是{type(my_tuple1)}")
结果是
注意
根据结果演示我们可以看出,经过转换之后先前的数据类型并没有改变,他只是新建了一个数据类型
4.排序
sorted(容器,[reverse=True])将给定容器进行排序
如结果所示
直接用sorted(容器),就是升序排序