# 6.1 一个简单的字典
#外星人颜色{绿色} + 分数 (5)
alien_0 = {'color': 'gree',
'points': 5 }
print(alien_0['color'])
print(alien_0['points']) #列表访问key来访问元素值
# 6.2 使用字典
alien_0 = {'color': 'gree','points': 5 }
alien_0 = {'color': 'gree'}
## 6.2.1 访问字典中的值
alien_0 = {'color': 'gree'}
print(alien_0['color'])
alien_0 = {'color': 'gree','points': 5 }
new_points = alien_0['points']
print(f"You just earned {new_points} points")
## 6.2.2 添加键值对
字典是一种动态结构,可随时在其中添加键值对。
要添加键值对,可依次指定字典名,用方括号括起的键和相关联的值
alien_0 = {'color': 'gree','points': 5 }
print(alien_0)
#新增外星人的x坐标和y坐标信息
alien_0['x_position'] = 0
alien_0["y_position"] = 25
print(alien_0) #新增按照顺序添加进行
## 6.2.3 先创建一个空字典
alien_0 = {'color': 'gree','points': 5 }
alien_0 = {}
alien_0['colors'] = "gree"
alien_0["points"] = 5
print(alien_0)
## 6.2.4 修改字典中的值
alien_0 = {'color': 'gree','points': 5 }
print(f"The alien is {alien_0['color']}.")
alien_0['color'] = 'yellow'
print(f"The alien is now {alien_0['color']}.")
alien_0 = {
'x_position': 0,
'y_position': 25,
'speed': 'medium'
}
print(f"Original x_position : {alien_0['x_position']}")
#向右移动外星人
#根据当前速度确定将外星人向右移动多远
if alien_0['speed'] == 'slow':
x_increment = 1
elif alien_0["speed"] == 'medium':
x_increment = 2
else:
x_increment = 3
#新位置为旧位置x_position 加上移动距离x_increment
alien_0['x_position'] = alien_0['x_position'] + x_increment
print(f"New x_position : {alien_0['x_position']}")
## 6.2.5 删除键值对
任务:
字典alien_0 = {'color': 'gree','points': 5 }
使用del 语句从字典中删除键'point'和它的值
del 字典名 + 要删除的键
alien_0 = {'color': 'gree','points': 5 }
print(alien_0)
del alien_0['points'] #删除point
print(alien_0)
## 6.2.6 由类似对象组成的字典
任务:打印出Sarah's favorite language is C.
favorite_language = {
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python'
}
language = favorite_language['sarah'].title()
print(f"Sarah's favorite language is {language}. ")
## 6.2.7 使用get() 来访问值
alien_0 = {'color': 'gree','speed': 'slow' }
alien_0['point']
alien_0 = {'color': 'gree','speed': 'slow' }
alien_0.get('points','no points value assigned') #如果没有这个key值,就返回第二个参数;有则返回相应的值
alien_0 = {'color': 'gree','speed': 'slow' }
point_value = alien_0.get('points')
print(point_value)
alien_0 = {'color': 'gree','speed': 'slow' }
point_value = alien_0.get('speed')
print(point_value)
# 6.3 遍历字典
## 6.3.1 遍历所有的键值对
user_0 = {
'username' : 'efermi',
'first' : 'enrico',
'last' : 'fermi'
}
任务:打印出
Key:username
Value:efermi
Key:first
Value:enrico
Key:last
Value:fermi
user_0 = {
'username' : 'efermi',
'first' : 'enrico',
'last' : 'fermi'
}
for a,b in user_0.items(): #字典的键值取出items()
print(f"Key:{a}")
print(f"Value:{b}\n")
user_0 = {
'username' : 'efermi',
'first' : 'enrico',
'last' : 'fermi'
}
for a,b in user_0:
print(f"Key:{a}")
print(f"Value:{b}\n")
favorite_language = {
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python'
}
任务:打印以下内容
Jen's favorrite language is Python.
Sarah's favorrite language is C.
Edward's favorrite language is Ruby.
Phil's favorrite language is Python.
favorite_language = {
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python'
}
for name,language in favorite_language.items():
print(f"{name.title()}'s favorrite language is {language.title()}.")
## 6.3.2 遍历字典中的所有键
keys()方法,返回一个字典中所有的键
favorite_language = {
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python'
}
for name in favorite_language.keys():
print(name.title())
打印出:
Hi Jen.
Hi Sarah.
Sarah,I see you love C!
Hi Edward.
Hi Phil.
Phil,I see you love Python!
favorite_language = {
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python'
}
friends = ["phil",'sarah']
for name,language in favorite_language.items():
print(f"Hi {name.title()}.")
if name in friends:
print(f"\t{name.title()},I see you love {language.title()}!")
favorite_language = {
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python'
}
if 'egf' not in favorite_language.keys():
print("Egf,please take our poll! ")
## 6.3.3 按特定顺序遍历字典中的所有键
使用sorted()对列表临时排序
favorite_language = {
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python'
}
for name in favorite_language.keys():
print(f"{name.title()},thank you for taking the poll.")
favorite_language = {
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python'
}
for name in sorted(favorite_language.keys()): #在字典前面进行sorted()方法
print(f"{name.title()},thank you for taking the poll.")
## 6.3.4 遍历字典中的所有值
keys()方法--返回字典中所有的键
value()方法--返回字典中的所有值
favorite_language = {
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python'
}
print("The following languages have been mentioned:")
for language in favorite_language.values():
print(language.title())
favorite_language = {
'jen': 'python',
'sarah': 'c',
'edward':'ruby',
'phil': 'python'
}
print("The following languages have been mentioned:")
for language in set(favorite_language.values()): #set()方法可以实现去重
print(language.title())
# 6.4 嵌套(套娃)
## 6.4.1 字典列表
alien_0 = {'color': 'gree','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)
#创建一个用于存储外星人的空列表
aliens = []
#创建30个绿色的外星人
for alien_number in range(30):
new_alien = {'color': 'gree', 'points': 5,'speed':'slow'}
aliens.append(new_alien) #append()添加到空列表
#显示前5个外星人
for alien in aliens[:5]:
print(alien) #切片显示前几个信息
#显示...
print("...")
#显示创建了多少个外星人
print(f"Totle number of aliens:{len(aliens)}") #len()显示长度
#创建一个用于存储外星人的空列表
aliens = []
#创建30个绿色的外星人
for alien_number in range(30):
new_alien = {'color': 'gree', 'points': 5,'speed':'slow'}
aliens.append(new_alien) #append()添加到空列表
#前三个外星人修改为黄色,速度为中等且值为 10 分
for alien in aliens[:3]:
if alien['color'] == 'gree':
alien['color'] = 'yellow'
alien['speed'] = 'medium'
alien['points'] = 10
#显示前5个外星人
for alien in aliens[:5]:
print(alien) #切片显示前几个信息
#显示...
print("...")
#显示创建了多少个外星人
print(f"Totle number of aliens:{len(aliens)}") #len()显示长度
#创建一个用于存储外星人的空列表
aliens = []
#创建30个绿色的外星人
for alien_number in range(30):
new_alien = {'color': 'gree', 'points': 5,'speed':'slow'}
aliens.append(new_alien) #append()添加到空列表
#编写一个if语句来确保只修改绿色外星人
#如果外星人是绿色,就将其颜色改为'yellow',将速度改为’medium‘,并将分数改为10
for alien in aliens[:3]:
if alien['color'] == 'gree':
alien['color'] = 'yellow'
alien['speed'] = 'medium'
alien['points'] = 10
#将黄色外星人改为移动速度快,且值为15,的红色外星人
elif alien['color'] == 'yellow':
alien['color'] = 'red'
alien['speed'] = 'fast'
alien['points'] = 15
#显示前5个外星人
for alien in aliens[:5]:
print(alien) #切片显示前几个信息
#显示...
print("...")
#显示创建了多少个外星人
print(f"Totle number of aliens:{len(aliens)}") #len()显示长度
## 6.4.2 在字典中存储列表
pizza = {
'crust': 'thick',
'toppings' : ['mushrooms','extra cheesse']
}
You ordered a thick-crust pizza with the following toppingss:
mushrooms
extra cheese
#存储所点披萨的信息
pizza = {
'crust': 'thick',
'toppings' : ['mushrooms','extra cheesse'],
}
#概述所点的披萨
print(f"You ordered a {pizza['crust']}-crust pizza with the following toppingss: ")
#for 循环遍历toppings
for topping in pizza['toppings']:
print("\t"+topping)
favorite_language = {
'jen': ['python','ruby'],
'sarah': ['c'],
'edward':['ruby','go'],
'phil': ['python','haskell']
}
for name,languages in favorite_language.items():
print(f"\n{name.title()}'s favorite language are: '")
for language in languages: #第一层遍历的是列表出来,第二次遍历列表中的元素 for for
print(f"\t{language.title()}.")
## 6.4.3 在字典中存储字典
users = {
'aeinstein': {
'first':'albert',
'last': 'eninstein',
'location' : 'princeton'
},
'mcurie' : {
'first':'marie',
'last': 'curie',
'location' : 'paris'
}
}
#需求:打印出
Username : Aeinstein
Full name : Albert Eninstein
Location : princeton
Username : Mcurie
Full name : Marie Curie
Location : paris
users = {
'aeinstein': {
'first':'albert',
'last': 'eninstein',
'location' : 'princeton'
},
'mcurie' : {
'first':'marie',
'last': 'curie',
'location' : 'paris'
}
}
for username,user_info in users.items():
print(f"\nUsername : {username.title()}")
full_name = f"{user_info['first']} {user_info['last']}"
location = user_info['location']
print(f"\tFull name : {full_name.title()}")
print(f"\tLocation : {location}")
python基础:五,字典
最新推荐文章于 2024-09-05 10:28:02 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)