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)
# 遍历所有键值对
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}")
# 字典列表(类似结构体数组)
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()}")