4.1 一个简单的字典(键值对)
# 外星人颜色(绿色)+分数(5)
alien_0 = {'color':'green','points':5}
print(alien_0['color']) #想要获取值(green),指定字典名(alie_0)+键(color)
print(alien_0['points'])
#green
#5
4.2 添加键值对
字典是一种动态结构,可随时在其中添加键值对,要添加键值对,可依次指定字典名、用方括号括起的键和相关联的值。
alien_0 = {'color':'green','points':5}
print(alien_0)
# 新增外星人的x坐标和y坐标信息
alien_0['x_position'] = 0
alien_0['y_position'] = 25
print(alien_0)
#{'color':'green','points':5}
#{'color':'green','points':5,'x_position':0,'y_position':25}
① 修改字典中的值
alien_0 = {'color':'green','points':5,'speed':'medium'}
alien_0["color"] = 'yellow'
# 向右移动外星人
# 根据当前速度确定将外星人向右移动多远
if alien_0['speed'] == 'slow':
x_increment = 1
elif alien_0['speed'] == 'medium':
x_increment = 2
else:
x_increment = 3
# 新位置为旧位置‘x_position’加上移动距离x_increment
aien_0['x_positin'] = alien_0['x_position'] + x_increment
print(f"New x_position:{alien_0['x_position']}")
#Original x-position:0
#New x-position:2
② 删除键值对
del 字典名+要删除的键:del alien_0['points']
③ 使用get()来访问值
alien_0={'color':'green','speed':'slow'}
print(alien_0['points'])
# 直接输出会报错
point_value = alien_0.get('points','No points value assigned.') #不存在就返回第二个参数,没有设置参数就返回none
print(point_value)
# No points value assigned
④ 遍历字典
user_0={'username':'efermi', 'first':'enrico', 'last':'fermi'}
for key,value in user_0.items(): #不加items()就会报错
print(f"\nKey:(key)")
print(f"Value:(value)")
⑤ 遍历字典中的所有键或者值
keys()方法-返回一个字典所有的键
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
friends = ['phil','sarah']
for name in favorite_languages.keys(): #for name in sorted(favorite_languages.keys()):按顺序排列
print(f"Hi{name.title()}.")
if name in friends:
language = favorite_languages[name].title()
print(f"\t{name.title()},I see you love{language}!")
value()方法-返回字典中的所有值
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
for name in favorite_languages.values(): #for name in set(favorite_languages.keys()):可去重
print(language.title())
4.3 嵌套
① 在列表中存储字典
# 创建一个用于存储外星人的空列表
aliens = []
# 创建30个绿色的外星人
for alien_number in range(30):
new_alien = {'color':'green','points':5,'speed':'slow'}
aliens.append(new_alien)
# 显示前5个外星人
for alien in aliens[:5]:
print(alien)
# 显示
print("....")
# 显示创建了多个外星人
print(f"Total number of aliens:{len(aiens)}")
② 在字典中存储列表
# 存储所点披萨的信息
pizza = {
'crust':'thick',
'toppings':['mushrooms','extra cheese'],
}
# 概述所点的披萨
print(f"You ordered a{pizza['crust']}-crust pizza with the following toppings:")
# for循环遍历键‘toppings’
for topping in pizza['toppings']:
print("\t" + topping)
③ 在字典存储字典
users = {
'aeinstein':{
'first':'albert',
'last':'einstein',
'location':'princeton',
},
# 输出
# Username:aeinstein
# Full name: Albert Einstein
# Location: Princeton
# Username:mcurie
# Full name: Marie Curie
# Location: Paris
for username,user_info in users.items():
print(f"\Username:{username}")
full_name = f"{user_infp['first']}(user_info['last']}"
location = user_info['location']
print(f"\tFull name:{full_name.title()}")
print(f"\tLocation:{location.title()}")
标签:name,color,alien,points,print,字典 From: https://www.cnblogs.com/pgl6/p/18282091