字典是python中一个十分重要的变量,他是一个可变的容器对象。通过一组key(键)和value(值)对组成一个元素。
组成形式为{'key':'value', 'key':'value'}。整个字典使用大括号{}, 括起来, key和value使用冒号:进行分隔。
键的值可以是数字、字符串、列表甚至是字典。
ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'} print(type(ralf)) #输出 : <class 'dict'>
通过键值来访问字典中的值:
ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'} print(ralf['name']) print(ralf['height']) #输出 :Ralf #输出 :188
添加键-值对:我们可以通过指定字典名,键和值来添加键值对。
ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'} print(ralf) ralf['hobby'] = 'knife' print(ralf) #输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'} #输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188', 'hobby': 'knife'}
修改字典中的键值对:
ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'} print(ralf) ralf['height'] = '186' print(ralf) #输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'} #输出 :{'name': 'Ralf', 'sex': 'male', 'height': '186'}
删除键值对,可以使用del 函数进行删除:
ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'} print(ralf) del ralf['height'] print(ralf) #输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'} #输出 :{'name': 'Ralf', 'sex': 'male'}
使用For循环遍历所有键值对:
ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'} for key, value in ralf.items(): print(key + ":" + value) #输出 :name:Ralf #sex:male #height:188
遍历字典中的所有键:
ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'} for key in ralf.keys(): print(key) #输出 :name #sex #height
遍历字典中的所有值:
ralf = {'name': 'Ralf', 'sex': 'male', 'height': '188'} for value in ralf.values(): print(value) #输出 :Ralf #male #188
根据PEP8法则,我们在定义字典的时候通常使用以下格式:
ralf = { 'name': 'Ralf', 'sex': 'male', 'height': '188' }
List和dict混合使用:
在list中包含字典:
ralf = { 'name': 'Ralf', 'sex': 'male', } clark = { 'name': 'Clark', 'sex': 'male', } leona = { 'name': 'Leona', 'sex': 'female', } team = [ralf, clark, leona] print(type(team)) print(team) #输出: <class 'list'> #输出: [{'name': 'Ralf', 'sex': 'male'}, {'name': 'Clark', 'sex': 'male'}, {'name': 'Leona', 'sex': 'female'}] for fighter in team: for key, value in fighter.items(): print(key + ":" + value) #输出: #name:Ralf #sex:male #name:Clark #sex:male #name:Leona #sex:female
在字典中存储列表:
team = { 'ralf': ['male', 188], 'clark': ['male', 187], 'leona': ['female', 174] } print(type(team)) print(team) #输出: <class 'dict'> #输出:{'ralf': ['male', 188], 'clark': ['male', 187], 'leona': ['female', 174]} for key, value in team.items(): print(key) for element in value: print(element) #输出:ralf #male #188 #clark #male #187 #leona #female #174
字典中嵌套字典:
team = { 'ralf': {'sex': 'male', 'height': '188'}, 'clark': {'sex': 'male', 'height': '187'}, 'leona': {'sex': 'female', 'height': '174'} } for keys, values in team.items(): print(keys) for key, value in values.items(): print(key + ":" + value) #输出:ralf #sex:male #height:188 #clark #sex:male #height:187 #leona #sex:female #height:174