【Python】字典

Python3 字典 | 菜鸟教程 

Python3 集合 | 菜鸟教程

一、字典增、删、改、查 

# 字典定义
alien_0 = {'color': 'green', 'points': 5}

# 字典访问(不安全)
print(alien_0['color'])
print(alien_0['points'])
# 字典访问(安全)
print(alien_0.get('speed'))  # 返回None
print(alien_0.get('speed', 'No speed value assigned'))

# 字典修改
alien_0['color'] = 'red'

# 增加键值对
alien_1 = {}  # 创建一个空字典
print('before add', alien_1)
alien_1['x_position'] = 0
alien_1['y_position'] = 25
print('after add', alien_1)

# 删除键值对
alien_0 = {'color': 'green', 'points': 5}
print(alien_0)
del alien_0['points']
print(alien_0)

【Python】字典_第1张图片

 二、遍历字典

# 遍历所有键值对
user_0 = {
    'username': 'efermi',
    'first': 'enrico',
    'last': 'fermi'
}

for key, value in user_0.items():  # item()方法返回一个键值对列表
    print(f"key:{key}")
    print(f"value:{value}\n")

for key in user_0.keys():          # keys()方法可以缺省,返回一个包含所有键的列表
    print(f"key:{key}")

for value in user_0.values():      # values()方法返回一个包含所有值的列表,不剔除重复
    print(f"value:{value}")

for value in set(user_0.values()): # 可用set容器(集合)去重
    print(f"value:{value}")

 【Python】字典_第2张图片

 【Python】字典_第3张图片

 三、嵌套

# 字典列表(类似结构体数组)
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)

# 在字典中存储列表(满足键值对的多值存储)
pizza = {
    'crust': 'thick',
    'toppings': ['mushrooms', 'extra cheese']
}

for topping in pizza['toppings']:
    print(topping)

# 在字典中存储字典(内层字典可包含不同的键)
users = {
    'aeinstein': {
        'first': 'albert',
        'last': 'einstein',
        'location': 'princeton',
    },
    'mcurie': {
        'first': 'marie',
        'last': 'curie',
        'location': 'paris',
    },
}

for username, user_info in users.items():
    print(f"Username:{username}")
    full_name = f"{user_info['first']} {user_info['last']}"
    location = user_info['location']
    print(f"\tFull_name:{full_name.title()}")
    print(f"\tLocation: {location.title()}")

【Python】字典_第4张图片

你可能感兴趣的