小言_互联网的博客

《Python编程从入门到实践》——学习python的第七天

359人阅读  评论(0)

Python学习第七天

前言

今天是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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场