Python学习笔记5(字典)

第五章 字典

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',
    },
}

猜你喜欢

转载自blog.csdn.net/weixin_43670190/article/details/106421098