Python学习之路2-字典 与嵌套

在Python中,字典 是一系列键—值对 。每个键 都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将
任何Python对象用作字典中的值。
在Python中,字典用放在花括号{} 中的一系列键—值对表示,如前面的示例所示:
alien_0 = {‘color’: ‘green’, ‘points’: 5}

键—值 对是两个相关联的值。指定键时,Python将返回与之相关联的值。键和值之间用冒号分隔,而键—值对之间用逗号分隔。在字典中,你想存储多少个键—值对都可以。

要获取与键相关联的值,可依次指定字典名和放在方括号内的键

alien_0[‘color’]

添加键—值对

alien_0 = {‘color’: ‘green’, ‘points’: 5}
print(alien_0)
alien_0[‘x_position’] = 0
alien_0[‘y_position’] = 25
print(alien_0)

{‘color’: ‘green’, ‘points’: 5}
{‘color’: ‘green’, ‘points’: 5, ‘y_position’: 25, ‘x_position’: 0}

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

要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值。例如,假设随着游戏的进行,需要将一个外星人从绿色改为黄色:
alien_0 = {‘color’: ‘green’}
print("The alien is " + alien_0[‘color’] + “.”)
alien_0[‘color’] = ‘yellow’
print("The alien is now " + alien_0[‘color’] + “.”)
我们首先定义了一个表示外星人alien_0 的字典,其中只包含这个外星人的颜色。接下来,我们将与键’color’ 相关联的值改为’yellow’ 。输出表明,这个外星人确实从绿
色变成了黄色:
The alien is green.
The alien is now yellow.

删除键—值对
del alien_0[‘points’]

遍历字典
user_0 = {
‘username’: ‘efermi’,
‘first’: ‘enrico’,
‘last’: ‘fermi’,
}

for key, value in user_0.items():
print("\nKey: " + key)
print("Value: " + value)

嵌套
有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套 。
(1)在列表中嵌套字典、
(2)在字典中嵌套列表
(3)在字典中嵌套字典

(1)字典列表(在列表中嵌套字典)

alien_0 = {‘color’: ‘green’, ‘points’: 5}
alien_1 = {‘color’: ‘yellow’, ‘points’: 10}
alien_2 = {‘color’: ‘red’, ‘points’: 15}
aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
print(alien)
我们首先创建了三个字典,其中每个字典都表示一个外星人。我们将这些字典都放到一个名为aliens 的列表中。最后,我们遍历这个列表,并将每个外星人都打印出
来:
{‘color’: ‘green’, ‘points’: 5}
{‘color’: ‘yellow’, ‘points’: 10}
{‘color’: ‘red’, ‘points’: 15}

(2)在字典中存储列表
在下面的示例中,存储了比萨的两方面信息:外皮类型和配料列表。其中的配料列表是一个与键’toppings’ 相关联的值。要访问该列表,我们使用字典名和键’toppings’
,就像访问字典中的其他值一样。这将返回一个配料列表,而不是单个值:
存储所点比萨的信息
pizza = {
‘crust’: ‘thick’,
‘toppings’: [‘mushrooms’, ‘extra cheese’],
}
概述所点的比萨
print(“You ordered a " + pizza[‘crust’] + “-crust pizza " +
“with the following toppings:”)
for topping in pizza[‘toppings’]:
print(”\t” + topping)
我们首先创建了一个字典,其中存储了有关顾客所点比萨的信息。在这个字典中,一个键是’crust’ ,与之相关联的值是字符串’thick’ ;下一个键是’toppings’,与之相关联的值是一个列表,其中存储了顾客要求添加的所有配料。制作前我们概述了顾客所点的比萨。为打印配料,我们编写了一个for 循环。为访问配料列表,我们使用了键’toppings’ ,这样Python将从字典中提取配料列表
You ordered a thick-crust pizza with the following toppings:
mushrooms
extra cheese

(3) 在字典中存储字典

可在字典中嵌套字典,但这样做时,代码可能很快复杂起来。例如,如果有多个网站用户,每个都有独特的用户名,可在字典中将用户名作为键,然后将每位用户的信息存储在
一个字典中,并将该字典作为与用户名相关联的值。在下面的程序中,对于每位用户,我们都存储了其三项信息:名、姓和居住地;为访问这些信息,我们遍历所有的用户名,
并访问与每个用户名相关联的信息字典:
users = {
‘aeinstein’: {
‘first’: ‘albert’,
‘last’: ‘einstein’,
‘location’: ‘princeton’,
},
‘mcurie’: {
‘first’: ‘marie’,
‘last’: ‘curie’,
‘location’: ‘paris’,
},
}

print users[‘mcurie’][‘location’]

猜你喜欢

转载自blog.csdn.net/jy34323012/article/details/86686509