一个元组可以储存多个数据,但是列表中的数据是不能修改的
元组特点:
定义元祖使用小括号,且括号隔开各个数据,数据可以是不同的数据类型
注意:
如果定义的元组只有一个数据,那么这个数据后面也好添加逗号,否则数据类型为唯一的这个数据的数据类型
元组数据不支持修改,只支持查找
按下标查找
tuple1 = ('aa', 'bb', 'cc', 'bb') print(tuple1[0]) # aa
tuple1 = ('aa', 'bb', 'cc', 'bb') print(tuple1.index('aa')) # 0
tuple1 = ('aa', 'bb', 'cc', 'bb') print(tuple1.count('bb')) # 2
tuple1 = ('aa', 'bb', 'cc', 'bb') print(len(tuple1)) # 4
注意:
元组内的直接数据如果修改则立即报错
tuple1 = ('aa', 'bb', 'cc', 'bb') tuple1[0] = 'aaa'
但是如果元组里面有列表,修改列表里面的数据则是支持
tuple2 = (10, 20, ['aa', 'bb', 'cc'], 50, 30) print(tuple2[2]) # 访问到列表 #结果:(10, 20, ['aaaaa', 'bb', 'cc'], 50, 30) tuple2[2][0] = 'aaaaa' print(tuple2)
字典,字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} #空字典 dict2 = {} dict3 = dict()
注意:一般称冒号前面的键(key),简称k;冒号后面的为值(value),简称v
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} dict1['name'] = 'Rose' #结果:{'name': 'Rose', 'age': 20, 'gender': '男'} print(dict1 dict1['id'] = 110 #{'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110} print(dict1)
注意:字典为可变类型。
2. 删
del()
删除字典或删除字典中指定键值对。
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} del dict1['gender'] #结果:{'name': 'Tom', 'age': 20} print(dict1) #### clear():
清空字典
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} dict1.clear() print(dict1) # {}
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} print(dict1['name']) # Tom print(dict1['id']) # 报错
如果当前查找的key存在,则返回对应的值;否则则报错。
get
语法
字典序列.get(key, 默认值)
注意:如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。
快速体验
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} print(dict1.get('name')) # Tom print(dict1.get('id', 110)) # 110 print(dict1.get('id')) # None
keys()
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])
values()
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} print(dict1.values()) # dict_values(['Tom', 20, '男'])
items()
items() 函数以列表返回可遍历的(键, 值) 元组数组
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'} print(dict1.items()) # dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])