(哇哇哇,昨天有150+阅读量了,嘿嘿嘿)
一个py字典可能只包含几个键值对,也可能包含数百万个建制队。鉴于字典可能包含大量数据,py支持对字典进行遍历。字典可用于以各种方式存储信息,因此有多种遍历方式:可遍历字典值的所有键值对,也可进遍历键或值。
6.3.1遍历所有键值对重点:for xxx in nnnn.iteams():
探索各种遍历方法前,先来看一个新字典,它用于存储有关网站用户的信息。下面的字典存储一名用户的用户名、名和姓:
user_0 = {
'username':'efermi',
'first':'enrico',
'last':'fermi',
}
利用本章前面介绍过的知识,可访问用户的任意一项信息,但如果要获悉该用户字典中的所有信息,可使用for循环来遍历这个字典:
user_0 = {
'username':'efermi',
'first':'enrico',
'last':'fermi',
}
for key,value in user_0.items():
print(f"nkey:{key}")
print(f"nValue:{value}")
要编写遍历字典的循环,可声明两个变量,用于存储键值对中的键和值。这两个变量可以使用任意名称。下面的代码使用了简单的变量名:
for k,v in ser_0.items()
for语句的第二部分包含字典名和方法items(),它返回一个键值对列表。接下来,循环一次抢美的简直对付给指定的两个变量。在本例中使用这两个变量来打印每个键及其相关联的值。
输出:
key:username
Value:efermi
key:first
Value:enrico
key:last
Value:fermi
6.3.2遍历字典中的所有键在不需要使用字典中的值时,方法keys()很有用,下面来遍历:
user_0 = {
'username':'efermi',
'first':'enrico',
'last':'fermi',
}
for name in user_0.keys():
print(name.title())
方法 keys() 让py提取字典中的所有键,并以此将他们赋给变量name。
输出:Username
First
Last
在这种循环中,可使用当前键来访问与之相关联的值。下面来打印两条消息,指出两位朋友
喜欢的语言。像前面一样遍历字典中的名字,但在名字为指定朋友的名字时,打印一条消息,指
出其喜欢的语言:
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
friends =['phil','sarah']
for name in favorite_languages.keys():
print(f"Hi {name.title()}.")
if name in friends:
language = favorite_languages[name].title()
print(f"t{name.title()},i see you love {language}!")
上面创建了一个列表,其中包含要收到打印消息的朋友。在循环中,打印每个人的名字,并检查当前的名字是否在列表 friends 中,如果在,就打印一句特殊的问候语,其中包含这位朋友喜欢的语言。为获悉朋友喜欢的语言,我们使用了字典名,并将变量 name 的当前值作为键。
每个人的名字都会被打印,但只对朋友打特殊消息:
输出:
Hi Jen.
Hi Sarah.
Sarah,i see you love C!
Hi Edward.
Hi Phil.
Phil,i see you love Python!
晚安啊



