目录
数据容器:容纳多份数据,一份数据称之为 1 个元素,可以是任意类型
定义符号使用
• 列表使用: []
• 元组使用: ()
• 字符串使用: ""
• 集合使用: {}• 字典使用:{}
基本语法:
(1)定义字面量
列表:[元素,元素,元素,……]
元组:(元素,元素,元素,……)
字符串:"元素,元素,元素,……"
集合:{元素,元素,元素,……}
字典:{key: value,key: value, ......, key: value} #元素是一个个·的键值对
(2)定义集合变量
e.g.变量名称 = {元素,元素,……}
注意:
# 定义1个元素的元组
a_tuple = ('Hello',)#元组只有一个数据,这个数据后面必须带有逗号,否则不是元组类型# 定义空集合变量
列表:变量名称 =list() 或者 变量名称 = []
元组:变量名称 =tuple() 变量名称 =()
字符串:变量名称 =str() 变量名称 =""
集合:变量名称 = set() 变量名称 ={}
字典:变量名称 = dict() 变量名称 = {}
数据容器分类:
(1)是否支持下标索引
• 支持:列表、元组、字符串 - 序列类型
• 不支持:集合、字典 - 非序列类型
(2)是否支持重复元素:
• 支持:列表、元组、字符串 - 序列类型
• 不支持:集合、字典 - 非序列类型
(3)是否可以修改
• 支持:列表、集合、字典
• 不支持:元组、字符串
数据容器特点对比:
列表 | 元组 | 字符串 | 集合 | 字典 | |
元素数量 | 支持多个 | 支持多个 | 支持多个 | 支持多个 | 支持多个 |
元素类型 | 任意 | 任意 | 仅字符 | 任意 | Key : Value(键值对) Key :除字典外任意类型 Value :任意类型 |
下标索引 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
重复元素 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
可修改性 | 支持 | 不支持 | 不支持 | 支持 | 支持 |
数据有序 | 是 | 是 | 是 | 否 | 否 |
使用场景 | 可修改、可重 复的一批数据 记录场景 | 不可修改、可重 复的一批数据记 录场景 | 一串字符的记录 场景 | 不可重复的数据 记录场景 | 以 Key 检索 Value 的数据记 录场景 |
数据容器的通用操作
(1)遍历操作
• 5 类数据容器都支持 for 循环遍历
• 列表、元组、字符串支持 while 循环,集合、字典不支持(无法下标索引)
• 尽管遍历的形式各有不同,但是,它们都支持遍历操作。
示例——列表
将容器内的元素依次取出,并处理
如何遍历列表的元素?while 或 for 循环
练习案例——取出列表内的偶数
定义一个列表,内容是: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
• 遍历列表,取出列表内的偶数,并存入一个新的列表对象中
• 使用 while 循环和 for 循环各操作一次
提示:
• 通过 if 判断来确认偶数
•通过列表的 append 方法,来增加元素a_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) # while循环 i = 0 while i < len(a_tuple): print(a_tuple[i]) i += 1 # for循环 for i in a_tuple: print(a_tuple[i])
for循环的语法
for 循环和 while 对比
• for 循环更简单, while 更灵活
• for 用于从容器内依次取出元素并处理, while 用以任何需要循环的场景
(2)数据容器的通用统计功能
语法 | 功能 |
len( 容器 ) | 统计容器的元素个数 |
max( 容器 ) | 统计容器的最大元素 |
min( 容器 ) | 统计容器的最小元素 |
(3)容器的通用转换功能
list( 容器 ) | 将给定容器转换为列表 |
str( 容器 ) | 将给定容器转换为字符串 |
tuple( 容器 ) | 将给定容器转换为元组 |
set( 容器 ) | 将给定容器转换为集合 |
(4)容器通用排序功能
sorted( 序列 , [reverse=True]) | 排序, reverse=True 表示降序 得到一个排好序的列表 |