6.字典
使用字典
提示
键和值之间用冒号分隔,而键值对之间用逗号分隔
- 访问字典中的值
alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
- 添加键值对
alien_0 = {'color': 'green', 'points': 5}
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
- 修改字典中的值
alien_0 = {'color': 'green'}
alien_0['color'] = 'yellow'
print(f"The alien is now {alien_0['color']}")
- 删除键值对
alien_0 = {'color': 'green', 'points': 5}
del alien_0['points']
print(alien_0)
- 使用get来访问值,第二个参数为指定键不存在时默认值,是可选的
alien_0 = {'color': 'green', 'speed': 5}
point_value = alien_0.get('point','No point value assigned.')
print(point_value)
如果没有指定默认值,Python将返回None
遍历字典
- for 循环遍历所有键值对
- 遍历所有键值对
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
for key, value in user_0.items():
print(f"\nKey: {key}")
print(f"Value: {value}")
items()返回一个键值对列表,for循环将每个键值对存储在指定的两个变量中
- 遍历所有键
在不需要使用字典中的值时,方法keys()很有用,遍历字典时,会默认遍历所有键,下面代码是等效的:
for key in user_0.keys():
for key in user_0:
- 按顺序遍历字典中的所有键
从Python3.7开始,遍历字典时将按插入顺序返回键值对,但是要以特定的顺序返回元素,必须使用sorted()来处理 sorted()返回一个排好序的列表副本,而不影响原来的列表
for key in sorted(user_0.keys()):
print(key)
- 遍历字典中的所有值
values()返回一个值列表,而不包含任何键
for value in user_0.values():
print(value)
这种做法提取字典中所有值,而没有考虑是否重复,为了剔除重复项,可以使用集合(set)
for value in set(user_0.values()):
print(value)
嵌套
- 列表中存储字典
- 字典中存储列表
- 字典中存储字典