1、使用字典
在Python中,字典(dictionary)是一系列键值对(k-v pair)。每个键都有相应的值对应,使用键来访问与之关联的值,与键关联的值可以为数、字符串、列表乃至字典。
在Python中,字典放在花括号({})中的一系列键值对表示,如下:
information={'first':'wang','name':'junkai','age':'25','city':'chongqing'}
键值对 包含两个相互关联的值,键与值之间用冒号分隔,而键值对之间用逗号分隔。
1.1、访问字典中的值
要获取与键关联的值,可指定字典名并把并把键放在后面的方括号内,如下:
information={'first':'wang','name':'junkai','age':'25','city':'chongqing'}
print(information['first'])
这将返回字典information中与‘first’相关联的值,如下:
wang
1.2、添加键值对
要添加键值对的方法:
指定字典名,在字典名后的中括号中填入键,然后=改键关联的值
字典名[ 键 ]=值
information={'first':'wang','name':'junkai','age':'25','city':'chongqing'}
information['friend']='ruyi'
print(information)
结果:
字典会保留定义时的元素排列顺序。
1.3、修改字典中的值
要修改字典中的值,可指定字典名,用方括号内填需修改值的键,然后=新值。
字典名[ 需修改的值 ]=新值
information={'first':'wang','name':'junkai','age':'25','city':'chongqing'}
information['city']='beijing'
print(information)
修改了字典information里的‘city’的值,改为‘beijing’。下述输出,‘chongqing’变成了 ‘beijing’:
1.4、删除键值对
对于字典中不需要的值进行删除,可使用del 语句将相应的键值对彻底删除。在使用del 语句是,必须指定字典名和要删除的键。
del 字典名[ 需删除的值对应的键 ]
information={'first':'wang','name':'junkai','age':'25','city':'chongqing'}
del information['age']
print(information)
这是删除‘age’这个键的值,如下的输出确实把‘age’对应的值给删除了:
1.5、使用get()方法来访问值
get():用来判断所要访问的值在不在字典中
get()方法的第一个参数用于指定键,第二个参数为当指定键不存在时该返回的值。
如果所指定的键在字典中,则返回字典键中所对应的值,就不会返回第二个参数里的值;如果所指定的键不在字典中,则返回第二个参数里的值。
information={'first':'wang','name':'junkai','age':'25','city':'chongqing'}
print(information)
poli_information = information.get('first',)
print(poli_information)
poli_information = information.get('friend','不在字典里')
print(poli_information)
注:在调用get()时,如果没有指定第二个参数且所指定的键不存在,则会返回None,这个特殊的值表示没有相应的值。
2、遍历字典
遍历字典,即可遍历字典的所有键值对,也可只遍历键或值。
2.1、遍历所有键值对
可以用for()循环来遍历还要是用.items()这个方法,这个方法返回一个键值对列表。
要编写遍历字典的for循环,可声明两个变量,分别用来存储键值对里的键和值。这两个变量名可任意取。例:取键名为k、值名为v
for k,v in 字典变量名.items()
information={'first':'wang','name':'junkai','age':'25','city':'chongqing'}
print(information)
print('\n')
for k,v in information.items():print(f"{k.title()} 是键,{v.title()} 是值")
输出为:
2.2、遍历字典中的所用键
在不需要字典中的值,只需要键时,用.keys()方法。
.keys()有两种用处:
①只取字典中的所有键
information={'first':'wang','name':'junkai','age':'25','city':'chongqing'}
print(information)
print('\n')
for k in information.keys():print(f"键为:{k}")
输出字典中的所以键:
在遍历中,字典名后面不加.keys(),则是默认遍历字典中的所有键,如上述代码:
for k in information.keys():
替换为:
for k in information.keys():
所输出的结果与上述的一致。
②会返回一个列表,其中包含字典中的所有键
如下为判断键‘friend’在没在列表里:
information={'first':'wang','name':'junkai','age':'25','city':'chongqing'}
print(information)
print('\n')
if 'friend' not in information.keys():print("不在列表")
结果判断‘friend’确实不在列表中: