第 5 章 容器数据类型
5.1序列
常见的序列类型包括:列表(List)、元组(Tuple)、字符串(String)。
5.2.3 向列表中添加元素
list1=[100,200,300,400,500]list1.append(600)# 在列表末尾追加元素 list1.insert(2,700)# 在列表指定的位置追加元素print(list1)5.2.10 遍历列表
1)直接遍历列表元素
list1=[100,200,300,400,500]fori in list1:print(i)2)通过下标遍历列表
list1=[100,200,300,400,500]fori inrange(len(list1)):print(i,list1[i])5.3 元组
# 1. 定义元组:固定数据,不能修改# 场景:保存学生信息、坐标、配置参数student=("张三",20,"计算机专业")point=(100,200)# 坐标x,yweek=("周一","周二","周三","周四","周五","周六","周日")# 2. 访问元组元素:和列表一样用下标print("学生姓名:",student[0])print("坐标X值:",point[0])print("第三天是:",week[2])# 3. 元组解包:一键赋值给多个变量name,age,major=studentprint(f"解包结果:姓名={name}, 年龄={age}, 专业={major}")# 4. 函数用元组返回多个值defcalc_num(a,b):he=a+b cha=a-b cheng=a*breturn(he,cha,cheng)# 返回元组# 接收多个返回值res=calc_num(10,5)print("和、差、积:",res)print("两数之和:",res[0])# 5. 元组可以做字典key(列表不能)pos_dict={(10,20):"起点位置",(30,40):"终点位置"}print("坐标对应位置:",pos_dict[(10,20)])# 6. 遍历元组fordayinweek:print("星期:",day)元组和列表有什么区别?
用途场景
列表:经常变的数据比如:购物车、用户列表、待处理任务
元组:固定不变的数据比如:坐标、星期、配置参数、常量、函数多返回值
如果元组中元素是可变数据类型,其嵌套项可以被修改。
tuple1=(100,200,300,[1,2,3])tuple1[3].append(4)print(tuple1)# (100, 200, 300, [1, 2, 3, 4])5.5 集合Set
1. list 列表
lst=[1,2,2,3,3,4]print(lst)# 保留重复、顺序不变print(lst[0])# 可以下标取值2. set 集合
s={1,2,2,3,3,4}print(s)# 自动去重、顺序打乱# print(s[0]) # 报错!集合不能用下标5.6 字典Dictionary
5.6.1 创建字典
dict1={}dict2=dict()dict3={"name":"Alice","age":18,"gender":"male"}dict4=dict(name="Bob",age=20,gender="female")dict5=dict([("name","Tom"),("age",22),("gender","male")])print(dict1)print(dict2)print(dict3)print(dict4)print(dict5)5.6.7 遍历字典
my_dict={'Name':'Tom','Age':17}# 遍历出所有kkeys=my_dict.keys()forkinkeys:print(k)print("-"*20)# 遍历出所有vvals=my_dict.values()print(vals)forvinvals:print(v)print("-"*20)# k-v遍历keys=my_dict.keys()forkinkeys:print(k+"---"+str(my_dict[k]))print("-"*20)kv=my_dict.items()foriinkv:print(i)