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://www.uj5u.com/houduan/280702.html
標籤:python
