元组
元组的创建
tuple1 =() #创建空元组
tuple2 = tuple() #创建空元组
tuple3 = (1,) #创建只有一个元素的元组
tuple4 = 1, #创建只有一个元素的元组
注意:当元组中只有一个元素的时候,我们必须在该元素的末尾添加一个逗号,来消除歧义。
元组小括号可以省略,但是逗号不能省略
元组元素的长度获取
使用len(tuple)函数来来获取元组元素的长度
tuple1 = (1,2,3,4,5)
print(len(tuple1)) #输出结果为5
元组元素的访问
tuple = (元素1,元素2,…,元素n)
通过索引值/下标来进行访问
tuple[index] index的取值范围 [0,len(tuple))
index取值可以为负,为负的时候,从右往左进行取值。
tuple1 = (1,2,3,4,5)
print(tuple1[1]) #输出为2
print(tuple1[-1]) #输出为5
元组的修改
在元组中一旦初始化则不能修改指的是,元组一旦创建,它对应元素指向不会再发生变化。若在元组的内部添加一个可变对象,通过修改可变对象进而来修改我们的元组
例如:
tuple1 = (1,2,3,[1,2,3])
print(tuple1) #输出为(1,2,3,[1,2,3])
tuple1 [-1][-1] = "hello" #修改元组里的列表里最后一个元素
print(tuple1) #输出为(1,2,3,[1,2,'hello'])
元组的删除
tuple1 = (1,2,3,[1,2,3])
del tuple1
执行del后元组不可访问
元组的连接/组合
拼接/组合
使用"+"
tuple3 = tuple1+tuple2
功能:将tuple1与tuple2中的元素取出重新组合成一个新的元组并且返回
tuple1 = (1,2,3)
tuple2 = (4,5,6)
tuple3 = tuple1 + tuple2
print(tuple3) #输出结果为(1, 2, 3, 4, 5, 6)
元组的重复
tuple2 = tuple1*n
功能:将tuple1中的元素重复n次输出到新的元组中
tuple1 = (1,2,3)
tuple2 = tuple1*2
print(tuple2) #输出结果为(1, 2, 3, 1, 2, 3)
元素 in 元组
判断元素是否在元组中存在,若存在则返回True,否则返回False
tuple1 = (1,2,3)
print("1" in tuple1) #输出True
元组的截取
tuple[starts: end :step]
start:默认0
end:默认len(tuple1)
step:默认1,取值可以为负
tuple1 = (1,2,3,4,5)
print(tuple1[1:3:2]) #输出为(2,)
求元组的元素最大值max()
max(tuple)
功能:返回tuple中最大值
tuple1 = (1,2,3,4,5)
print(max(tuple1)) #输出为5
求元组的元素最小值min()
min(tuple)
功能:返回tuple中最小值
tuple1 = (1,2,3,4,5)
print(min(tuple1)) #输出为1
列表转为元组tuple()
tuple(list1)
功能:将列表转为元组
list1 = [1,2,3,4,5]
tuple1 = tuple(list1)
print(list1) #输出[1, 2, 3, 4, 5]
print(tuple1) #输出(1, 2, 3, 4, 5)
count()函数
tuple.count(x)
功能:统计x在tuple中出现的次数
tuple1 = (1,2,3,4,5,1)
print(tuple1.count("1")) #输出2
二维数组
tuple = (t1,t2,…,tn)
当元组中的元素刚好又是元组的时候,我们称这个元组为二维元组。
例如:
tuple1 = ((1,2),(3,4))
二维元组的访问
tuple[index1][ index2]
index1:代表第几个元组
index2:元组中第几个元素
tuple1 = ((1,2),(3,4))
print(tuple1[1][1]) #输出 4
字典
字典的本质也是一个集合,是一个无序的集合,存储的时候以键值(key-value)对的方式来进行存储。
注意:
key要求:
1.字典中的key必须是唯一的
2.字典中的key必须是不可变对象
字典的创建
dict = {key:value,key2:value2,…,keyn:valuen}
元素的访问
第一种:dict[key]
注意:当key不存在的时候,报错
dict1 = {"张三":19,"李四":23}
print(dict1["张三"]) #输出 19
第二种:dict.get(key)
dict1 = {"张三":19,"李四":23}
print(dict1.get("张三")) #输出 19
注意:与dict[key]方法不同,当key不存在的时候,不会报错,而是返回None
添加元素/更改元素操作
添加元素
dict[key] = value
dict1 = {"张三":19,"李四":23}
dict1["刘六"] = 22
print(dict1) #输出{'张三': 19, '李四': 23, '刘六': 22}
更改元素
因为字典中key唯一的,它对应的值也只有一个,后面添加的会将前面的覆盖。
dict1 = {'张三': 19, '李四': 23, '刘六': 22}
dict1["刘六"] = 26
print(dict1) #输出{'张三': 19, '李四': 23, '刘六': 26}
删除元素
4.dict.pop(key)
根据key删除对应的键值对,并且将对应的value值返回。
dict1 = {'张三': 19, '李四': 23, '刘六': 22}
print(dict1.pop("张三")) #返回 19
列表与字典的区别与联系
1.存储方式
字典存储的时候以键值对的方式存储
列表只存储了字典中的value
2.占用空间
字典占用空间比较大
1》字典需要存储key
2》字典不是紧密排列的
3.查询速度
当数据量越大的情况下,字典的优势会更加明显