Python中的tuple元组和dict字典的用法
1.tuple元组(1)元组的基本知识a)概念:是一种有序的集合b)元组和列表的区别:格式: 元组:(),列表:[ ];列表中的元素可以进行增加和删除操作,但是,元组中的元素不能进行修改c)元组和列表的相同点:都是一种容器,都可以同时存储不同类型的数据(2)元组的创建创建空列表:list1 = []创建有元素的列表:list1 =[元素1,元素2,,,,...
1.tuple元组
(1)元组的基本知识
a)概念:是一种有序的集合
b)元组和列表的区别:
格式: 元组:(),列表:[ ];
列表中的元素可以进行增加和删除操作,但是,元组中的元素不能进行修改
c)元组和列表的相同点:
都是一种容器,都可以同时存储不同类型的数据
(2)元组的创建
创建空列表:list1 = []
创建有元素的列表:list1 = [元素1,元素2,,,,]
创建空元组:tuple = ()
创建有元素的元组:tuple = (元素1,元素2,,,,)
注意:和列表类似,在元组中可以存储重复元素,同时存储不同类型的数据;
当元组中只有一个元素,tuple1 = (10)等价于tuple1 = 10,为了消除歧义,添加逗号如:tuple1 = (10,)
(3)元组的访问
获取值:语法如:元组名称[索引]
#1.创建空元组 tuple1 = () #2.创建带有元素的元组 tuple2 = (10,20,30) #1.获取元组值 tuple1 = (10,20,30,40,50) print(tuple1[1]) #法一:获取元组中的最后一个值:从前向后获取 print(tuple1[4]) #法二:获取元组中的最后一个值:从后向前获取,-1表示最后一个元素 print(tuple1[-1]) #2.修改元素值:不支持元素的修改,指的是不能更改地址,可以修改内容,此处特殊情况 tuple2 = (1,3,43,5,[54,54,5]) print(tuple2) list1 = tuple2[4] list1[1] = 100 print(tuple2) #3.删除元组 del tuple2
(4)元组的操作
组合:tuple1 + tuple2
重复:tuple1 * 3 #注意:组合和重复都是生成了一个新的元组,原来的元组不发生任何改变
判断元素是否在元组中:in 和 not in
元组截取【切片】:tuple1[2:4] #截取2到4的元素,包前不包后,包头不包尾
tuple1[2:] #截取索引为2以后的元素,包括元素2
tuple1[:4] #截取从开头到4的元素,不包括元素4
获取元组中元素的个数: len(tuple1)
获取元组中元素的最大值和最小值: max(tuple1)和min(tuple1)
元组和列表之间的相互转换:取长补短,转换前后不是以前的元组了
list1 = list(tuple1) tuple2 = tuple(list2)
遍历元组:
a)直接遍历元素
for element in tuple1: print(element)
b)遍历索引:本质上遍历的是列表
for i in range(len(tuple1)): print(tuple1[i])
c)同时遍历索引和元素
for i,element in enumerate(tuple1): print(i,element)
(5)二维元组 :当做一维元组处理
tuple1 = ((5,54,5,45),(5,6,46,56),(6,6,6,5)) print(tuple[1][1])
二维元组的遍历:嵌套循环
for subTuple in tuple1: for element in subTuple: print(element)
2.dict字典
(1)字典dict的基本知识
a)概念:查询学生成绩,将学生作为key,将成绩作为value进行村塾,方便查找【一一对应】
b)本质:也是一种存储数据的容器
c)特点:数据以键值的形式存储,具有快速查找的优势
注意:字典是无序的,键重要,值跟着键走。
键值的特点:字典中的key必须是唯一的、字典中的key必须是不可变的(如:tuple,数字型和字符串)
(2)字典的访问
a)创建:语法:字典名称 = {key1:value1,key2:value2,,,,,}
#1.创建空字典 dict1 = {} #2.创建有键值对的字典 dict2 = {"zhangsan":60,"jack":90} print(dict2)
b)获取:通过Key获取Value
dict3 = {"zhangsan":60,"jack":90,"tom":80} #通过key获取value score = dict3["jack"] print(score)
注意:如果key不存在,则通过get功能,返回None,程序不会报错
result = dict3.get("lisi") print(result) if result == None: print("lisi不存在的") else print("存在")
(4)字典的操作
a)添加:如果键值存在,则dict3["jack"] = 100,表示给此键值增添元素
如果键值不存在,则dict3["bob"] = 75,表示增加键值对
b)删除:删除指定的key,则对应的value也会随之删除,如:dict3.pop["tom"]
c)遍历
dict1 = {"zhangsan":60,"jack":90,"tom":80} #1.获取key for key in dict1: value = dict1[key] print("%s = %d"%(key,value)) #2.只获取value #注意:将所有的value重新生成一个列表 list1 = dict.values() for value in list1: print(value) #3.获取key:dict.keys() for i,key in enumerate(dict1): print(i,key) print(dict1[key]) #4.同时获取value和key,python中特有 for key,value in dict1.items(): print(key,value)
练习:
1.逐一显示指定字典中的所有的键,并且显示结束之后输出总键数
#1.逐一显示指定字典中的所有的键,并且显示结束之后输出总键数 num = 0 dict1 = {"x":1,"y":2,"z":3} for key in dict1: num += 1 print(key) print(num) for key in dict1.keys(): print(key) print(len(dict1))
2.list1 = [0,1,2,3,4,5,6],list2 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],以list1中的元素作为key,list2中元素作为value,生成一个新的字典dict2
list1 = [0,1,2,3,4,5,6] list2 = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"] dict2 = {} i = 0 if len(list1) == len(list2): while i < len(list1): dict2[list1[i]] = list2[i] i += 1 print(dict2)
更多推荐
所有评论(0)