字典
在python中,字典是一系列键值对。每个键都与一个值相关联,你可使用键来访问相关联的值。与键相关联的值可以是数、字符串、列表、字典。
如:alien = {‘color’:‘green’,’point‘:’5‘}
键值对是两个相关联的值,指定键时,Python将返回与之相关联的值,键和值之间用冒号分隔,而键值对之间用逗号分隔,在字典中,想存储多少键值对都可以。
访问字典中的值
要获取与键相关联的值,可依次指定字典名和放在方括号内的键。
如:
代码:
a = {'tang': '24', 'zhang': '23', 'he': '22'}
print(a['zhang'])
print(a['tang'])
print(a['he'])
结果:
添加键值对
字典是一种动态结构,可随时在其中添加键值对,要添加键值对,可以依次指定字典名、用方括号括起的键和相关联的值。
如:
代码:
a = {'tang': '24', 'zhang': '23'}
print(a)
a['he'] = 22
a['liu'] = 21
print(a)
结果:
注
通常可以先定义一个空字典,在分别添加需要的键值对
修改字典中的值
要修改字典中的值,可依次指定字典名、用方括号括起的键,以及与该键相关联的新值。
如:
代码:
a = {'tang': '24', 'zhang': '23','he':'22'}
a['he'] = '21'
print(a)
结果:
删除键值对
对字典中不需要的信息,可以使用del语句将相应的键值对彻底删除。使用del语句时,必须指定字典名和要删除的键。
如:
代码:
a = {'tang': '24', 'zhang': '23','he':'22'}
del a['tang']
print(a)
结果:
使用get()来访问值
使用放在方括号内的键从字典中获取感兴趣的值时,如果指定的键不存在,则会出错。
我们可使用get()来解决这个问题,当指定的键不存在时,会返回一个默认值,从而避免这样的错误。
方法get()的第一个参数用于指定键,是必不可少的,第二个参数为指定的键不存在时要返回的值,是可选的。
如:
代码:
a = {'tang': '24', 'zhang': '23','he':'22'}
print(a.get('liu','No value'))
print(a.get('tang','No value'))
结果:
遍历字典的所有键值对
用for循环遍历字典,需要声明两个变量,用于存储键值对中的键和值,变量名可根据含义任意命名。
如:
代码:
a = {'tang': '24', 'zhang': '23','he':'22'}
for name,year in a.items():
print(name)
print(year)
结果:
遍历字典的所有键
在不需要使用字典的值时,方法keys()很有用,只会输出键。
如:
代码:
a = {'tang': '24', 'zhang': '23','he':'22'}
for name in a.keys():
print(name)
结果:
注
方法keys()并非只能用于遍历,实际上,它返回一个列表,其中包含字典中的所有键。
其实在只遍历字典的键时,可以不使用任何方法,如:
代码:
a = {'tang': '24', 'zhang': '23','he':'22'}
for name in a:
print(name)
结果:
遍历字典中的所有值
如果只对字典中的值感兴趣,可使用方法values()来返回一个值的列表,不包含任何键。
如:
代码:
a = {'tang': '24', 'zhang': '23','he':'22'}
for year in a.values():
print(year)
结果:
用列表管理字典
我们可以分别创建若干字典,然后将字典整合到列表中。
如:
代码:
people_1 = {'name':'tang','year':'23'}
people_2 = {'name':'zhang','year':'24'}
people_3 = {'name':'he','year':'22'}
peoples = [people_1,people_2,people_3]
for people in peoples:
print(people)
结果:
注
列表里面的元素不能加引号。
输出时要采用遍历列表的方式。