字典是python中一个十分重要的变量,他是一个可变的容器对象。通过一组key(键)和value(值)对组成一个元素。
组成形式为{'key':'value', 'key':'value'}。整个字典使用大括号{}, 括起来, key和value使用冒号:进行分隔。
键的值可以是数字、字符串、列表甚至是字典。
ralf = { 'name': 'Ralf', 'sex': 'male', 'height': '188'}print(type(ralf))#输出 :
通过键值来访问字典中的值:
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)#输出:#输出: [{'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)#输出:#输出:{'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