在Python中,字典是一系列键-值对
使用字典
访问字典中的值
alien_0 = {'color': 'green'}
print(alien_0['color'])
green
添加键-值对
alien_0 = {'color': 'green', 'points': 5}
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
{'color': 'green', 'points': 5, 'y_position': 25, 'x_position': 0}
创建一个空字典
alien_0 = {}
alien_0['color'] = 'green'
alien_0['points'] = 5
print(alien_0)
{'color': 'green', 'points': 5}
修改字典中的值
alien_0 = {'color': 'green'}
alien_0['color'] = 'yellow'
print(alien_0['color'])
yellow
删除键-值对
alien_0 = {'color': 'green', 'points': 5}
del alien_0['points']
print(alien_0)
{'color': 'green'}
确定需要使用多行来定义字典时,在输入左花括号后按回车键,再在下一行缩进四个空格,指定第一个键-值对,并在它后面加上一个逗号。此后再按回车键时,文本编辑器将自动缩进后续键-值对,且缩进量与第一个键-值对相同。
定义好字典后,在最后一个键-值对的下一行添加一个右花括号,并缩进四个空格,使其与字典中的键对齐。
另外一种不错的做法是在最后一个键-值对后面也加上逗号,为以后在下一行添加键-值对做好准备。
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
遍历字典
遍历所有的键-值对
要编写用于遍历字典的for循环,可声明两个变量,用于存储键-值对中的键和值。
对于这两个变量,可使用任何名称
遍历字典时,键-值对的返回顺序与存储顺序不同
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
for key, value in user_0.items():
print("\nKey: " + key)
print("Value: " + value)
Key: last
Value: fermi
Key: first
Value: enrico
Key: username
Value: efermi
遍历字典中的所有键
遍历字典时,会默认遍历所有的键
也可使用keys()
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in favorite_languages.keys():
print(name.title())
Jen
Sarah
Phil
Edward
keys()并非只能用于遍历;实际上,它返回一个列表,其中包含字典中的所有键
按顺序遍历字典中的所有键
sorted()
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in sorted(favorite_languages.keys()):
print(name.title() )
Edward
Jen
Phil
Sarah
遍历字典中的所有值
values()
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for language in favorite_languages.values():
print(language.title())
Python
C
Python
Ruby
剔除重复项
集合(set)
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for language in set(favorite_languages.values()):
print(language.title())
Python
C
Ruby
嵌套
将一系列字典存储在列表中,或将列表作为值存储在字典中,称为嵌套