Python小白入門:第五講|

Python小白入門:第五講||字典

在這一講中,你將學習如何能夠將相關信息關聯起來的Python字典。學習如何能夠訪問和修改字典中的信息。在一個字典中存儲多少信息量都是可以的。所以我們要學習如何遍歷字典中的數據。
到底什麼才是字典呢?
可以這麼理解,字典就是存儲一個物體多個信息的集合體。如果這是一個表示人的字典,你在其中就可以存儲他的姓名、年齡、地址、職業等信息。

在這一講中,你將學習:

  • 如何定義字典,
  • 如何使用存儲在字典中的信息;
  • 如何訪問和修改字典中的元素,
  • 如何遍歷字典中的所有信息;
  • 如何遍歷字典中所有的鍵-值對、所 有的鍵和所有的值;
  • 如何在列表中嵌套字典、在字典中嵌套列表以及在字典中嵌套字典

5.1一個簡單的字典

<code>person = {

'name'

:

'qimu'

,

'age'

: 18}

print

(person[

'name'

])

print

(person[

'age'

])/<code>

這是一個名為person的字典

字典使用花括號來標識,其中name和age表示鍵(key),qimu和18表示值(value),鍵和值組成鍵-值對。


5.2使用字典

在Python中,字典是一系列鍵-值對。每個鍵都與一個值相關聯,你可以使用鍵來訪問與之相關聯的值。與鍵相關聯的可以是數字、字符串、列表、乃至字典。

需要訪問字典中的值時,需要用遵循的語法:字典名['鍵名'],例如上圖的person['name']。

字典是一種動態結構,你可以隨時在其中添加鍵-值對。要添加鍵-值對,你可以依次指定字典名、用方括號括起的鍵和相關聯的值。

<code>person = {

'name'

:

'qimu'

,

'age'

: 18}

print

(person) person[

'location'

] =

'China'

print

(person) {

'name'

:

'qimu'

,

'age'

: 18} {

'name'

:

'qimu'

,

'age'

: 18,

'location'

:

'China'

}/<code>

這裡演示了在字典person中添加了一個location的鍵-值對

你也可以先創建一個空的字典,然後才將需要的數據添加進去。

如果想要修改鍵所對應的值應該怎麼辦呢?

其實方法和添加鍵-值對一樣,依次指定字典名、用方括號括起的鍵和相關聯的值,只不過這裡的鍵是你想要改變的值所對應的鍵。

<code>person = {

'name'

:

'qimu'

,

'age'

: 18}

print

(person) person[

'age'

] = 20

print

(person) {

'name'

:

'qimu'

,

'age'

: 18} {

'name'

:

'qimu'

,

'age'

: 20}/<code>

你可以發現這裡age對應的值已經改變

對於字典中不需要的值我們可以進行刪除,只需要用到del語句。

假如我們現在想刪除字典person中的鍵age和其所對應的值。

<code>person = {

'name'

:

'qimu'

,

'age'

:

18

} print(person)

del

person[

'age'

] print(person) {

'name'

:

'qimu'

,

'age'

:

18

} {

'name'

:

'qimu'

}/<code>

這裡顯示已經刪除了age

5.3遍歷字典

一個字典可能只包含幾個鍵-值對,也可能包含成千上萬個鍵-值對。字典可以以各種方式存儲信息,因此有多種遍歷字典的方式。

遍歷所有的鍵-值對

要想遍歷鍵-值對,可以用for循環。要編寫用於遍歷字典的for循環,可聲明兩個變量,用於存儲鍵-值對中的鍵和值。對於這兩個變量,可使用任何名稱。

for語句的第二部分包含字典名和一個方法items(),它返回一個鍵-值對列表。

<code>person = {

'name'

:

'qimu'

,

'age'

: 18}

for

key, value

in

person.items():

print

(

"\nKey:"

+ key)

print

(

"Value:"

+ str(value)) Key:name Value:qimu Key:age Value:18/<code>

我在這裡使用key和value兩個變量來存儲鍵和值,隨後將他們打印出來。加號(+)是一個拼接運算符,作用是將key和value連接在字符串Key和Value後面。

注意要將字符18轉換為整型才能輸出。

遍歷字典中的鍵

使用方法keys()

<code>person = {

'name'

:

'qimu'

,

'age'

: 18}

for

key

in

person.keys():

print

(key.title()) Name Ag/<code>

for循環提取字典中所有的鍵,並將它存儲到變量key中,然後以首字母大寫的方式打印輸出。

注意:如果將keys()省略,輸出不變。這是因為遍歷字典時,會默認遍歷所有的鍵。

字典總是很明確的記錄鍵和值之間的關聯關係,但獲取字典的元素時,獲取順序時不可預測的。要想以特定順序返回元素,可使用函數sorted()來獲得按特定順序排列的鍵值對的副本。

<code>person = {

'name'

:

'qimu'

,

'age'

: 18}

for

key

in

sorted(person.keys()):

print

(key.title()) Age Name/<code>

很明顯的發現這裡的輸出順序已經發生了改變。

遍歷字典中的值同遍歷字典中的鍵一樣,這裡可以採用方法values()

<code>person = {

'name'

:

'qimu'

,

'age'

:

18

}

for

value

in

person.values(): print(str(

value

).title()) Qimu

18

/<code>


5.4嵌套

有時候,你需要將一系列字典存儲在列表中,或將列表作為值存儲在字典中,這稱為嵌套。

你可以在列表中嵌套字典。在字典中嵌套列表甚至在字典中嵌套字典。

在列表中嵌套字典

<code>person_1 = {

'name'

:

'qimu'

,

'age'

: 18} person_2 = {

'name'

:

'tom'

,

'age'

: 19} person_3 = {

'name'

:

'jack'

,

'age'

: 20} persons = [person_1, person_2, person_3]

for

person

in

persons:

print

(person) {

'name'

:

'qimu'

,

'age'

: 18} {

'name'

:

'tom'

,

'age'

: 19} {

'name'

:

'jack'

,

'age'

: 20}/<code>

這裡創建三個字典,存儲三個人的信息。並將三個字典存儲到一個名為persons的列表中。用for循環打印三個字典。

在字典中存儲列表

<code>person = {

'name'

:

'qimu'

,

'age'

: 18,

'work'

: [

'students'

,

'teacher'

}

print

(person) {

'name'

:

'qimu'

,

'age'

: 18,

'work'

: [

'students'

,

'teacher'

}/<code>

['students', 'teacher']表示的是一個列表,存儲鍵work關聯的信息

在字典中存儲字典

<code>persons = {
    

'qimu'

: {

'name'

:

'qimu'

,

'age'

: 18 },

'jack'

: {

'name'

:

'jack'

,

'age'

: 20 }, }

for

person_name, information

in

persons.items():

print

(

"\nPerson_name:"

+ person_name) informations = information[

'name'

] +

' '

+ str(information[

'age'

])

print

(

"Information:"

+ informations) Person_name:qimu Information:qimu 18 Person_name:jack Information:jack 20/<code>

這裡創建了一個字典persons,有兩個鍵qimu和jack,兩個鍵所關聯的值又是一個字典。person_name 和information兩個變量分別存儲字典的鍵和與鍵相關聯的值。


分享到:


相關文章: