字典
目标
- 字典的应用场景
- 创建字典的语法
- 字典常用操作
- 字典的循环遍历
一、字典的应用场景
思考1 如果有多个数据,例如’Tom’ ’ 男’ ‘20’ 如何快速存储
答 列表
list1=['tom','男',20]
思考2 如何找到 tom
找到下标为0
list1[0]
思考3 如果将来数据发生变化如下所示,还能用list[0]访问到数据‘Tom吗
list1=['男',20,'tom']
不能
思考4 数据顺序发生变换,每个数据的下标也会发生变化,如何保证数据顺序前后使用同一个标准找数据?
答 字典。字典是以键值对的形式出现,字典数据与数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可
二、创建字典
字典特点
- 符号为大括号
- 数据为键值对形式出现
- 各个键值对之间逗号隔开
#有数据
dict1={'name':'Tom', 'age':20,'gender':'男'}
#空字典
dict2={}
dict3=dict{}
字典的常见操作
增加
写法:字典序列[key]=值
注意 如果key存在则修改这个key对应的值;如果key不存在则新增此兼职对
dict1={'name':'Tom', 'age':20,'gender':'男'}
dict1['name']='rrrr'
print(dict1)
#{'name': 'rrrr', 'age': 20, 'gender': '男'}
dict1['id']=110
print(dict1)
#{'name': 'rrrr', 'age': 20, 'gender': '男', 'id': 110}
字典是可变数据
删除
del() /del:删除字典或者删除字典中的键值对
dict1={'name':'Tom', 'age':20,'gender':'男'}
del dict1['gender']
print(dict1)
#{'name': 'Tom', 'age': 20}
clear()清空字典
dict1.clear()
print(dict1)
{}
修改
写法:字典序列[key]=值
注意;如果key存在则修改,如果不存在则新增键值对
查找
key值查找
dict1={'name':'Tom', 'age':20,'gender':'男'}
print(dict1['name'])
print(dict1['id'])
如果当前查找的key存在,则返回对应的值,否则报错
get()
语法
字典序列.get(key,默认值)
注意:如果当前查找的key值不存在则返回第二个参数,如果省略第二个参数,则返回None
快速体验
print(dict1.get('name')) #Tom
print(dict1.get('id',110))#110
print(dict1.get('id')) #None
keys
#keys
dict1={'name':'Tom', 'age':20,'gender':'男'}
print(dict1.keys())
#dict_keys(['name', 'age', 'gender'])
values
print(dict1.values())
#dict_values(['Tom', 20, '男'])
items
print(dict1.items())
#dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])
循环遍历
key
for key in dict1.keys():
print(key)
value
for value in dict1.values():
print(value)
“”“
Tom
20
男
”“”
键值对
for item in dict1.items():
print(item)
"""
('name', 'Tom')
('age', 20)
('gender', '男')
"""
键值对拆包
for key,value in dict1.items():
print(f'{key}={value}')
"""
name=Tom
age=20
gender=男
"""
来源:CSDN
作者:南方有雨Ya
链接:https://blog.csdn.net/qq_43061290/article/details/104115792