寫在文末的話
我們在程式編寫的過程當中,很有可能會使用不同的資料之間的對應關係,比如一系列單詞對應的翻譯資訊、一系列任命對應的****等,字典能夠讓我們的程式中資料元素之間的關係變得更加符合我們的需求,而不是自己建立對應關係。
下面為最基本的字典用法:
player =
print
(player[
"name"])
print
(player[
"team"
])
messi
barcelona
不難發現,在字典當中,我們想要知道某個元素的值時,不再使用傳統的數字索引作為我們的查詢標準,而是通過兩個元素間建立的關係進行查詢。
我們將我們查詢時所用的索引稱為鍵(key),而每個key對應的叫做值(value)
我們在使用字典時,也可以直接將某個值賦給某一變數,方便使用。
在建立字典後,我們也可以對字典內容進行新增,刪除,修改等操作,具體使用方法如下:
player =
#新增元素
player[
"age"]=
32print
(player)
#修改元素
player[
"name"]=
"suarez"
print
(player)
#刪除元素
del player[
"age"
]print
(player)
當我們在建立乙個資料量比較大的字典時,我們需要在格式上進行一定的調整,以保證我們**的工整性和可讀性。
我們可以利用換行和縮進來保證我們的**工整。
player_team =
print
(player_team)
在我們的日常使用需求當中,我們對這種元素的集合乙個極其重要的操作就是對他們的遍歷,在字典當中,我們對字典遍歷的原理和之前我們曾經接觸過的對列表和元組的遍歷原理是相同的,我們一般使用for迴圈對字典進行遍歷(p.s.也有很多其他的方法可以完成遍歷操作,但是我所接觸到的最基礎的遍歷一般是使用for迴圈完成的),但是在字典當中也有和前兩者稍有不同的地方,在字典當中,我們所規定的是兩個元素之間的對應關係,所以在字典當中的元素是二維的,或者說,我們遍歷的每乙個單位對應的是兩個元素(鍵key和值value),我們可以按我們的需要來對遍歷結果進行進一步的操作。
對字典的基礎遍歷方法如下:
player_team =
for key,value in player_team.items():
print
(key+
":"+value)
messi:barcelona
neymar:paris
tanlong:changchunyt
上述的例子是對字典中的鍵和值都進行遍歷,但在有些時候,我們只需要遍歷鍵或只需要遍歷值,這個時候我們就可以用到方法keys()或values().
player_team =
for name in player_team.keys():
print
(name)
for team in player_team.values():
print
(team)
messi
neymar
tanlong
barcelona
paris
changchunyt
在對字典進行相關的操作時,我們還可以使用很多的方法來方便我們對資料元素進行我們所需的操作,比如我們可以對元素進行字典序排序(sorted),或者我們可以對重複的元素進行去重(set).
player_team =
for name in
sorted
(player_team.keys())
:print
(name)
for team in
sorted
(set
(player_team.values())
):print
(team)
duzhenyu
messi
neymar
tanlong
barcelona
changchunyt
paris
我們在這裡只是列舉了更加容易被接受的例子,並沒有什麼實際的意義,但是在實際的日常使用當中,我們可以通過這樣的操作,方便我們對資料進行處理,並且python為我們提供的很多內建功能會大大提高我們的效率。
我們在使用字典時,有時我們的資料元素可能不是單一的數值或者單一的元素,這個時候我們就會用到巢狀的功能,在我們的不同需求之下,我們可以在字典當中巢狀列表,在列表當中巢狀字典,甚至我們可以在字典當中巢狀字典,這樣的巢狀方法可以完成更多強大的操作。
具體使用方法如下:
player1 =
player2 =
player3 =
players =
[player1, player2, player3]
for p in players:
print
(p)
在我們日常的使用當中,有時我們可能需要隨機生成一些資料元素,我們就需要借助類似的方法進行操作:
import random
player =
for num in
range(10
):new_player =
print
(player[:5
])print
(len
(player)
)
[, , , , ]
10
上述的例子是將字典巢狀進列表當中,而在我們的日常使用當中,有時可能也需要將列表巢狀進字典當中。
比如在我們的社交平台當中,我們可能會被標記為某些興趣標籤,這樣的結構就很適合進行列表巢狀進字典當中。
id
=for k,v in
id.items():
print
(k+"'s label:"
)for l in v:
print
("\t"
+l)
00's label:
football
sport
01's label:
music
cook
02's label:
idol
movie
03's label:
it game
同理,我們有時會用到字典巢狀字典的情況,這時我們的實現原理和其他巢狀的原理是類似的:
player =
,'tanlong':}
for pl,pl_i in player.items():
print
(pl+
' ,age:'
+str
(pl_i[
'age'])
+', pos:'
+pl_i[
'pos'
])
messi ,age:32, pos:rw
tanlong ,age:31, pos:st
python程式設計學習筆記(一):資料型別;列表基礎;函式、方法、語句辨析;
python程式設計學習筆記(二):列表操作;判斷語句(if);
python程式設計學習筆記(三):字典;
人生苦短,我學 Python 序言
前言 本專欄在保證內容完整性的基礎上,力求簡潔,旨在讓初學者更快地入門python。這個python學習專欄我打算分三個階段 基礎知識 高階知識 實戰訓練。這將是一套完整 高效 循序漸進的python系列講解,您亦可以當做python學習的入門教程。人生苦短,我學 python 基礎篇 初步認識 d...
人生苦短我學Python (六)函式
成長很苦,進步很甜,希望我們大家每天都能夠向上生長。函式的概念引用一下菜鳥教程上的 函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。函式能提高應用的模組性,和 的重複利用率。你已經知道python提供了許多內建函式,比如print 但你也可以自己建立函式,這被叫做使用者自定義函式。定...
python人生苦短 人生苦短,我用Python
python學習筆記 每日總結,反思.學習,1,注釋 單行注釋 注釋內容 多行注釋 注釋內容 快捷鍵 ctrl 2,變數 type 變數 用來檢視變數型別 變數型別,程式中需要特別注意變數型別,很容易報錯,或者很熟悉變數型別的報錯,錯了再改也成.格式轉化 紅線常用 bool布林型別 ture和fla...