第五章 字典
5.1 字典的结构
people = {
'name': 'chen', 'sex': 'boy'}
字典是由{ }来标记的。它里面包含的是键值对。每一个键都对应一个值,可以使用键来访问与之对应的值。与键相关联的值可以是数字、字符串、列表乃至字典。
5.2 访问字典中的值
可依次指定字典名和放在方括号内的键。
people = {
'name': 'chen', 'sex': 'boy'}
print(people['name'])
输出:chen
5.2.1 添加键值对
字典是一种动态结构,可随时在其中添加键值对。依次指定字典名、用方括号括起来的键和相关联的值。
people = {
'name': 'chen', 'sex': 'boy'}
people['age'] = 20
people['class'] = 1703
print(people)
输出:{‘name’: ‘chen’, ‘sex’: ‘boy’, ‘age’: 20, ‘class’: 1703}
5.2.2 修改字典中的值
依次指定字典名,用方括号括起来的键以及与键相关联的新值。
people = {
'name': 'chen', 'sex': 'boy', 'age': 20, 'class': 1703}
people['name'] = 'chenih'
print(people)
输出:{‘name’: ‘chenih’, ‘sex’: ‘boy’, ‘age’: 20, ‘class’: 1703}
5.2.3 删除键值对
使用del语句删除,必须指定字典名和要删除的键。
people = {
'name': 'chen', 'sex': 'boy'}
del people['sex']
输出:{‘name’: ‘chen’}
5.3 遍历字典
people = {
'name': 'chen', 'sex': 'boy'}
for key, value in people.items():
print(key)
print(value)
输出:
name
chen
sex
boy
其中key和value是变量,可任意命名。
5.3.1 遍历字典中的所有键、值
people = {
'name': 'chen', 'sex': 'boy'}
for key in people.keys():
print(key)
输出:
name
sex
people = {
'name': 'chen', 'sex': 'boy'}
for value in people.values():
print(value)
输出:
chen
boy
5.3.2 剔除重复项
字典中的键必须是独一无二的,但是值可以重复,为了剔除重复项,可以使用set集合。
people = {
'name': 'chen', 'sex': 'boy', 'newsex': 'boy'}
for value in set(people.values()):
print(value)
输出:
chen
boy
5.4 嵌套
将一系列字典存储在列表中或将列表作为值存储在字典中,这称为嵌套。
5.4.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]
5.4.2 在字典中存储列表
pizza = {
'crust': 'thick',
'toppings': '['mushrooms', 'extra cheese']',
}
5.4.3 在字典中存储字典
#字典users中包含两个键,每个键相关联的值都是一个字典,包含了用户的姓、名、性别
users = {
'chenjiahe': {
'first': 'chen',
'last': 'jiahe',
'sex': 'boy',
},
'maxin': {
'first': 'ma',
'last': 'xin',
'sex': 'girl',
},
}