python中字典的使用

232 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情

1.一个简单的字典

image.png

superstar={'ikun':'caixukun',2:'chenglong',3:'liangchaowei',4:'wuyanzu'}
print(superstar['ikun'])

与大多数编程概念一样,要熟练使用字典需要一段时间的学习和练习。

2.使用字典

在python中,字典是一系列键值对。每个键都与一个值相关联,你可使用键来访问相关联的值。与键相关联的可以是数字,字符串,列表乃至字典。 在python中,字典用放在花括号{}中的一系列键值对表示,如前面的示例所示: 键值对是两个相关联的值。指定键时,python将返回与之相关联的值。键和值之间用冒号分隔,而键值对之间用逗号分隔。在字典中想储存多少个键值对都可以。 最简单的字典只有一个键值对如:

superstar={‘ikun’:‘caixukun’}

2.1访问字典中的值

要获取与键相关联的值,可依次指定字典名和放在方括号内的键,这将返回字典superstar中与键‘ikun’相关联的值。如下所示:

image.png

字典中可包含任意数量的键值对。

2.2添加键值对

字典是一种动态结构,可随时在其中添加键值对。要添加键值对,可依此指定字典名用方括号括起的键和相关联的值。如:

image.png

superstar={'ikun':'caixukun'}
superstar['ji']='sing'
superstar['ni']='jump'
superstar['tai']='rap'
superstar['mei']='basketball'
superstar

按顺序在字典中添加新的键值对。

2.3修改字典中的值

要修改字典中的值,可依次指定字典名、用方括号括起的键,以及与该键相关联的新值。例如:

image.png

superstar={'ikun':'caixukun'}
superstar['ikun']='niganma~aiyou'
superstar

2.4删除字典中的值

对于字典中不再需要的信息,可使用del语句将相应的键值对彻底删除。使用del语句时,必须指定字典名和要删除的键。如:

image.png

superstar={'ikun':'caixukun',2:'chenglong',3:'liangchaowei',4:'wuyanzu'}
print(superstar)
del superstar['ikun']
print(superstar)

2.5使用get()来访问值

当我们访问一个字典中不存在的键时,python会进行报错如:

image.png 导致关键值错误。就字典而言,可使用方法get()在指定的键不存在时返回一个默认值,从而避免这样的错误。
方法get()的第一个参数用于指定键,是必不可少的;第二个参数为指定的键不存在时要返回的值,是可选的:

image.png

superstar={'ikun':'caixukun',2:'chenglong',3:'liangchaowei',4:'wuyanzu'}
print(superstar.get('wangbaoqiang','i am so sorry '))

如果指定的键有可能不存在,应考虑使用方法get(),而不要使用方括号表示法。

3.遍历字典

鉴于字典包含大量数据,python支持对字典进行遍历。字典可用于以各种方式存储信息,因此有很多遍历方法:可遍历字典的所有键值对,也可仅遍历键和值。

3.1 遍历所有键值对

要编写遍历字典的for循环,可声明两个变量,用于存储键值对中的键和值。这两个变量可以使用任何名称。for语句包含字典名和items()方法,它返回一个键值对列表,接下来,for循环一次将每个键值对赋值给指定的两个变量。

image.png

superstar={'ikun':'caixukun',2:'chenglong',3:'liangchaowei',4:'wuyanzu'}
for key,value in superstar.items():#不要忘记这个items()
    print(f"key:{key}")
    print(f"value:{value}")

3.2遍历字典中所有键

在不需要使用字典中的值时,方法keys()很有用。

image.png

superstar={'ikun':'caixukun',2:'chenglong',3:'liangchaowei',4:'wuyanzu'}
for key in superstar.keys():
    print(f"key:{key}")