前言
今天是Python学习的第7天,每一次写博客,自己也有在复习,收获也挺多的,看到有新人跟我一起学习,我还是非常开心的,你们的支持就是我走下去的动力。
字典
上一次是讲到了添加键值对。
现在我们得自己学会创造字典
创建一个空字典
alien_0 = {
}
alien_0['color'] = 'green'
alien_0['points'] = '5'
print(alien_0)
结果:
{‘color’: ‘green’, ‘points’: ‘5’}
#首先定义了一个空白字典,再向其中添加颜色以及分数
修改字典中的值
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
修改字典中的值的操作在第4行,其实就是相当于一个 普通的变量进行替换值吧
真.比较高级的操作
lien_0 = {
'x_position': 0,'y_position': 25,'speed':'medium'}
print(f"Original position:{alien_0['x_position']}")
alien_0['speed'] = 'fast'
#向右移动外星人。
#根据当前的速度确定将外星人移动多远
if alien_0['speed'] == 'slow':
x_increment = 1
elif alien_0['speed'] == 'medium':
x_increment = 2
else:
#这个外星人的速度一定很快
x_increment = 3
alien_0['x_position'] = x_increment
print(f"New position:{alien_0['x_position']}")
结果:
Original position:0
New position:3
删除键值对
alien_0 = {
'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)
结果:
{‘color’: ‘green’, ‘points’: 5}
{‘color’: ‘green’}
正常使用使用删除的方法或者函数即可,del、pop()、reserve(),忘记了的看可以看看第二天的内容。
注意:倘若将这个数据被删除,倘若一个数据被删除就相当于永久删除
由类似对象组成的字典
相当于很多对象是同一种信息,例如语言
favorite_languages = {
'jen':'python',
'sarah':'c',
'edward':'ruby',
'phil':'python'
}
language = favorite_languages['sarah'].title()
print(f"Sarah's favorite_language is {language}.")
结果:
Sarah’s favorite_language is C.
这里使用title()方法 值也会相应的首字母变大
使用get()来访问值
alien_0 = {
'color':'green','speed':'slow'}
print(alien_0['points'])#因为字典里面没有该类信息
结果:
Traceback (most recent call last):
File “C:\Users\30484\PycharmProjects\untitled1\测试.py”, line 2, in
print(alien_0[‘points’])
KeyError: ‘points’#键值错误
这种时候就要使用方法get()在指定的键不在的情况下返回一个默认值,从而可以避免这样的错误,可以比作给错误找了个借口吧,哈哈啊哈。
方法get()中的第一个参数是用于来指定的,是不可或缺的,第二个参数为指定的键不存在时要返回的值,是可选的
alien_0 = {
'color':'green','speed':'slow'}
point_value = alien_0.get('points','No point value assigned.')
print(point_value)#因为字典里面没有该类信息
结果:
No point value assigned.
get()方法的第一个参数值是指定对象,第二个参数值是指定对象所要返回的值,使用方法时需要用到另一个变量,来进行等效替换
当第二个参数没有值时,进行运行时,运行的结果是 None
遍历字典
遍历的方式有很多,比如遍历所有的键值对也可以仅遍历键或值
user_0 = {
'username':'efermi',
'fitst':'enrico',
'last':'fermi',
}
for k,v in user_0.items():#这里声明了两个变量k、v,用于存储键值对中的键和值。可以任意名称,并且是使用for语句。items()方法的作用使得for能够返回一个键值对列表。拾起每个键值对
print(f"\nkey:{k}")
print(f"Value:{v}")
结果:
key:username
Value:efermi
key:fitst
Value:enrico
key:last
Value:fermi
实用一下:对于不同人的同一类信息遍历键值对是非常有用的,使得结果非常的可观
favorite_language = {
'jen':'Python',
'sarah':'c',
'edward':'ruby',
'phil':'Python'
}
for name,language in favorite_language.items():
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
遍历字典中的所有键
在不需要使用字典中的值时,方法keys()很有用。
favorite_language = {
'jen':'Python',
'sarah':'c',
'edward':'ruby',
'phil':'Python'
}
for name in favorite_language.keys():#keys()方法在这里有没有,输出的结果都一样,但是这里使用keys()使得代码更加可读,让人看见keys()就知道这是在遍历键
print(f"name:{name}")
结果:
name:jen
name:sarah
name:edward
name:phil
遍历字典中的的所有值
favorite_language = {
'jen':'Python',
'sarah':'c',
'edward':'ruby',
'phil':'Python'
}
print("The following languages have been mentioned:")
for language in favorite_language.values():#提取每个语言并且一次赋值给变量language。最重要的是方法values()
print(language.title())
结果:
The following languages have been mentioned:
Python
C
Ruby
Python
字典的内容还挺多的,所以大家得仔细阅读和思考。加油鸭!!!
若有解释错误的地方请在评论指出,假如有更好的解释与讲法也欢迎在评论区说出,谢谢!
转载:https://blog.csdn.net/m0_52699073/article/details/116134592