前言
Python中,可包含其他对象的对象,称之为“容器”。容器是一种数据结构。
常用的容器主要划分为两种:序列(如:列表、元祖等)和映射(如:字典)。
序列中,每个元素都有下标,它们是有序的。
映射中,每个元素都有名称(又称“ 键 ”),它们是无序的。
除了序列和映射之外,还有一种需要注意的容器——“ 集合 ”。
公共方法
①内置函数
备注:字典不能比较两个值的大小(“<”或“>”比较),其他函数若传入字典,则比较key,
函数名 | 作用 |
len(xxx) | 计算容器中元素的个数 |
del(xxx) | 删除变量 |
max(xxx) | 计算容器中元素的最大值 |
min(xxx) | 计算容器中元素的最小值 |
cmp | 比较两个值(3.x中已取消cmp函数,使用">""<"代替) |
②切片
使用索引值来限定范围,从一个大的字符串中切出小的字符串
列表切片:
>>> [0,1,2,3,4][1:3]
[1, 2]
元祖切片
>>> (0,1,2,3,4)[1:3]
(1, 2)
字典不可切片
③使用运算符
加法运算符“+”
>>> [1,2]+[3.4]
[1, 2, 3.4]
乘法运算符“*”
>>> ["hira"]*8
['hira', 'hira', 'hira', 'hira', 'hira', 'hira', 'hira', 'hira']
包含“in”和不包含“not in”
>>> 4 in [0,2,3,4,5,6,8]
True
>>> 4 not in [0,2,3,4,5,6,8]
False
比较“>”、"<"、“==”、“<=”、">="
>>> (1,2,3,4)<(1,3,4,6)
True
>>> (1,2,3,4)<(1,3,4)
True
>>> (1,2,3,4)<(1,3)
True
>>> (1,2,3,4)<(1,2,3)
False
>>> (1,2,3,4)<(1,1,3)
False
>>> (1,2,3,4)<(1,1,3,6)
False
作用 | 适用于 |
合并(+运算符) | 字符串、列表、元祖 |
重复(*运算符) | 字符串、列表、元祖 |
元素是否存在 | 字符串、列表、元祖、字典 |
元素是否不存在 | 字符串、列表、元祖、字典 |
比较 | 字符串、列表、元祖 |
④完整的for循环语句
for 变量 in 集合:
xxx
else:
xxx # 当循环遍历后会执行,若未遍历完使用break退出循环后,不会执行此段代码
应用场景:
在迭代遍历嵌套的数据类型时,需要判断某个字典中是否存在指定的值,若存在则退出,若不存在则在循环体结束后,希望得到一个统一的提示,表示没有找到xxx值。
students = [
{"name": "siri"},
{"name": "小爱"},
{"name": "小一"}
]
# 在学员列表中搜索指定的姓名
find_name = "小一1"
for stu_dict in students:
print(stu_dict)
if stu_dict["name"] == find_name:
print("找到了 %s" % find_name)
# 如果找到了,应该直接退出循环,而不再遍历后续的元素
break
else:
print("没有找到 %s" % find_name) # 如果希望在搜索列表时,没有找到想要的,统一提示
print("循环结束")
执行结果
{'name': 'siri'}
{'name': '小爱'}
{'name': '小一'}
没有找到 小一1
循环结束