字典
一、字典的应用场景
思考:如果有多个数据,例如:Tom,男,20,如何快速存储?
答:列表
list=['Tom','男',20]
思考2:如何查找到数据'Tom'?
答:查找到下标为0的数据即可
list[0]
思考3:如果将来顺序发生变化,如下所示,还能用list1[0] 访问到数据Tom吗?
list1=['男',20,'Tom']
答:不能,数据Tom此时下标为2
思考4:数据顺序发生变化,每个数据的下表也会随之变化,如何保证数据顺序变化前后能使用同一的标准查找数据呢?
答:字典,字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只要按照对应的键的名字查找数据即可
二、创建字典的语法
字典特点:
- 符号为大括号
- 数据为键值对形式出现
- 各个键值对之间用逗号隔开
#有数据字典
dict1={'naem':'Tom','age':20,'gender':'男'}
# 空字典
dict2={}
dict3=dict()
注意:一般冒号前面的的为键(key), 简称k;冒号后面的为值(value),简称V
三、字典常见操作
3.1 增
写法:字典序列[key]=值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对
dict1={'name':'Tom','age':20,'gender':'男'}
dict1['name']='Rose'
print(dict1)
# {'name': 'Rose', 'age': 20, 'gender': '男'}
dict1['id']=110
print(dict1)
# {'name': 'Rose', 'age': 20, 'gender': '男', 'id': 110}
注意:字典为可变类型
3.2 删
- del()/del: 删除字典或删除字典中指定的键值对
dict1={'name':'Tom','age':20,'gender':'男'}
del dict1['gender']
print(dict1)
# 结果:{'name': 'Tom', 'age': 20}
- clear(): 清空字典
dict1={'name':'Tom','age':20,'gender':'男'}
# del dict1['gender']
# print(dict1)
# 结果:{'name': 'Tom', 'age': 20}
# clear()
dict1.clear()
print(dict1)
# 结果:{}
3.3 改
写法:字典序列[key]=值
注意:如果key存在则修改这个key对应的值;如果key不存在则新增此键值对
3.4 查
3.4.1 key值查找
dict1={'name':'Tom','age':20,'gender':'男'}
print(dict1.get('name')) #Tom
print(dict1['id']) #报错
如果当前查找的key存在,则返回对应的值;否则报错
3.4.2 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
3.4.3 keys()
dict1={'name':'Tom','age':20,'gender':'男'}
print(dict1.keys())
#dict_keys(['name', 'age', 'gender'])
3.4.4 values()
dict1={'name':'Tom','age':20,'gender':'男'}
print(dict1.values())
#dict_values(['Tom', 20, '男'])
3.4.5 items()
dict1={'name':'Tom','age':20,'gender':'男'}
print(dict1.items())
#dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
四、字典的循环遍历
4.1 遍历字典的key
# 遍历字典的key
dict1={'name':'Tom','age':20,'gender':'男'}
for key in dict1.keys():
print(key)
4.2 遍历字典的value()
# 遍历字典的value
dict1={'name':'Tom','age':20,'gender':'男'}
for value in dict1.values():
print(value)
4.3 遍历字典的元素
# 遍历字典的元素
dict1={'name':'Tom','age':20,'gender':'男'}
for item in dict1.items():
print(item)
4.4 遍历字典的键值对
# 遍历字典的键值对
dict1={'name':'Tom','age':20,'gender':'男'}
for key,value in dict1.items():
print(f'{key}={value}')