Python编程从⼊门到实践(第2版)第六章字典第六章字典
6.1 ⼀个简单的字典
输⼊:
# 6.1 ⼀个简单的字典
alien_0 ={'color':'green','points':5}#存储外星⼈的颜⾊和分数
print(alien_0['color'])
print(alien_0['points'])
输出:
green
jspdf5
6.2 使⽤字典
字典是⼀系列键值对。每个 键 与 ⼀个值相关联,可以使⽤键来访问相关联的值。
与键关联的值可以是 数、字符串、列表乃⾄字典。可将任何Python对象⽤作字典中的值。
alien_0 ={'color':'green','points':5}
键值对,键和·值之间⽤冒号分隔,⽽键值对之间⽤逗号分隔。
在字典中,想存储多少个键值对都可以。
6.2.1 访问字典中的值
输⼊:
alien_0 ={'color':'green'}#依次指定字典名和放在⽅括号内的键与值
print(alien_0['color'])
输出:
green
下⾯访问alien_0的颜⾊和分数。
alien_0 ={'color':'green','points':5}#定义字典
new_points = alien_0['points']#获取值赋值给变量
print(f"You just earned {new_points} points!")#打印消息
You just earned 5 points!
6.2.2 添加键值对
alien_0 ={'color':'green','points':5}
print(alien_0)
alien_0['x_position']=0# 新增x坐标
alien_0['y_position']=25# 新增y坐标
print(alien_0)
{'color':'green','points':5}
{'color':'green','points':5,'x_position':0,'y_position':25}
6.2.3 先创建⼀个空字典
输⼊:
# 先创建⼀个空字典
alien_0 ={}
alien_0['color']='green'
alien_0['points']=5
print(alien_0)
输出:
{'color':'green','points':5}
6.2.4 修改字典中的值
案例1:将外星⼈绿⾊变成黄⾊
# 将⼀个外星⼈从绿⾊改成黄⾊
alien_0 ={'color':'green'}
print(f"The alien is {alien_0['color']}.")
alien_0['color']='yellow'# 将绿⾊改成黄⾊
print(f"The alien is now {alien_0['color']}.")
The alien is green.
The alien is now yellow.
案例2:外星⼈移动速度
# 外星⼈移动速度
alien_0 ={'x_position':0,'y_position':25,'speed':'medium'}
print(f"Original x_position:{alien_0['x_position']}")
# 向右移动外星⼈
# 根据当前速度确定将外星⼈向右移动多远python入门教程(非常详细)书
if alien_0['speed']=='slow':
x_increment =1
elif alien_0['speed']=='medium':
x_increment =2
else:
# 这个外星⼈的移动速度肯定很快
x_increment =3
# 新位置为旧位置加上移动距离
alien_0['x_position']= alien_0['x_position']+ x_increment
print(f"New x_position:{alien_0['x_position']}")
Original x-position:0
New x-position:2
6.2.5 删除键值对
可使⽤del语句删除相应的键值对,必须指定 字典名 和要删除的 键。输⼊:
alien_0 ={'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)
输出:
{'color':'green','points':5}
{'color':'green'}bootstrap5教程
6.2.6 由类似对象组成的字典
针对多个对象,同类信息⽽⾔。
输⼊:
# 由类似对象组成的字典
# 键(被调查者姓名)值(被调查者语⾔)
favorite_languages ={
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',#最后⼀⾏键值对后⾯加上逗号,为以后在下⼀⾏添加键值对做好准备}#右花括号需要缩进四个空格
# 给定调查者的名字sarah,可使⽤这个字典轻松获悉他喜欢的语⾔
language = favorite_languages['sarah'].title()
print(f"Sarah's favorite language is {language}.")
输出:
Sarah's favorite language is C.
6.2.7 使⽤get()来访问值
当指定的键不存在时,应考虑使⽤⽅法get(),⽽不使⽤⽅括号表⽰法。
错误⽅式:
alien_0 ={'color':'green','speed':'slow'}
print(alien_0['points'])
正确⽅式:
alien_0 ={'color':'green','speed':'slow'}
point_value = ('points','No point value assigned.')
print(point_value)
结果:
No point value assigned.
6.3 遍历字典
可仅仅遍历字典的所有键值对,也可仅遍历键或值。
6.3.1 遍历所有键值对
⽅法items()。
randompiece什么牌子
例1:遍历⼀个新字典,存储⼀名⽤户的⽤户名、名、姓。
user_0 ={
'username':'efermi',#⽤户名
'first':'enrico',#名
'last':'femi',#姓
}
# 使⽤for in循环
for key,value in user_0.items():# key⽤于存储键,value⽤于存储值
print(f"\nKey:{key}")
print(f"Value:{value}")
Key:username
git详细教程
Value:efermi
Key:first
Value:enrico
Key:last
Value:femi
例2:遍历⼀个新字典,存储不同⼈的同⼀种信息。
favorite_languages ={
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
# 使⽤for in循环
for name,language in favorite_languages.items():# key⽤于存储键,value⽤于存储值
print(f"{name.title()}'s favorite language is {language.title()}.")
Jen's favorite language is Python.
Sarah's favorite language is C.
Edward's favorite language is Ruby.
Phil's favorite language is Python.
6.3.2 遍历字典中的所有键
⽅法keys()。
案例1:遍历字典favorite_languages,将每个被调查者的名字都打印出来。
# 遍历键案例1
favorite_languages ={
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
# 使⽤for in循环
for name in favorite_languages.keys():# name⽤于存储键
print(name.title())
Jen
Sarah
Edward
Phil
案例2:遍历字典favorite_languages,将每个被调查者的名字都打印出来。但当名字为指定朋友的名字时候,打印⼀条消息,指出其喜欢的语⾔。
# 遍历键案例2
favorite_languages ={
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
friends =['phil','sarah']
for name in favorite_languages.keys():
print(f"Hi {name.title()}.")
if name in friends:socket编程服务器端用什么类来创建socket对象
language = favorite_languages[name].title()
print(f"\t{name.title()},I see you love {language}!")
每个⼈的名字都会被打印,但只对朋友打特殊消息。
Hi Jen.
Hi Sarah.
Sarah,I see you love C!
Hi Edward.
Hi Phil.
Phil,I see you love Python!
当然,也可以使⽤keys来确定某⼈是否接受了调查。
# 下⾯代码确定Erin是否接受了调查
favorite_languages ={
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
if'erin'not in favorite_languages.keys():
print("Erin,please take our poll!")
Erin,please take our poll!
6.3.3 按特定顺序遍历字典中的所有键
利⽤for循环对返回的键进⾏排序。可使⽤函数**sorted()**来获得按特定顺序排列的键列表的副本。
favorite_languages ={
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python',
}
for name in sorted(favorite_languages.keys()):
print(f"{name.title()},thank you for taking the poll.")
对字典⽅法keys()的结果调⽤了函数sorted()。key 参数可以⾃定义排序规则
Edward,thank you for taking the poll.
Jen,thank you for taking the poll.
Phil,thank you for taking the poll.
Sarah,thank you for taking the poll.
6.3.4 遍历字典中的所有值
⽅法values()返回所有值列表,不包含任何键。
例1:不能剔除重复项
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论