字典 建立,訪問,遍歷,字典推導式

2021-10-05 13:41:05 字數 3321 閱讀 4943

本次課學習字典。包括字典的建立,訪問,遍歷等各種操作、

字典的建立:

dictionary=

字典由鍵—值對組成。鍵是唯一的,值可以不唯一。

(1.1)建立字典方法1:手動輸入一對對的鍵值對,所有符號英文狀態輸入。

案例(1)

zidian=

。print

(zidian)

#執行結果:

print

(type

(zidian)

)#執行結果:

(1.2)建立字典方法2:鍵和值分別用列表表示,用dict轉換為字典

案例(2):一家四兄弟,分別叫王大,王二,王三,王四,身高分別為178,179,180,176,愛好分別是游泳,跑步,撞球,桌球。建立字典對王家四兄弟進行描述。

name=

['王大'

,'王二'

,'王三'

,'王四'

]#姓名為鍵,用列表表示

high=

['178'

,'179'

,'180'

,'176'

]#身高為值,用列表表示

hobby=

['游泳'

,'跑步'

,'撞球'

,'桌球'

]zidian1=

dict

(zip

(name,high)

)#dict轉換為字典.

zidian2=

dict

(zip

(high,hobby)

)print

(zidian1)

print

(zidian2)

#執行結果:

(1):根據鍵訪問值。

接著案例(2):

print

(zidian2[

'178'])

#根據鍵訪問值,注意鍵寫在裡。

``````python

執行結果:游泳

print

(zidian2[

'185']if

'185'

in zidian2 else

'查無此項'

)#若字典有對應鍵,則輸出值;否則輸出「查無此項」

(2)可以用get()來實現對字典的訪問:dictionary.get(key,[default])。[default]為預設值,預設為none.若鍵不存在,則輸出該預設值.

name=

['王大'

,'王二'

,'王三'

,'王四'

]#姓名為鍵,用列表表示

high=

['178'

,'179'

,'180'

,'176'

]#身高為值,用列表表示

zidian1=

dict

(zip

(name,high)

)print

(zidian1.get(

'王大'

,'查無此項'))

#執行結果:178

print

(zidian1.get(

'王六'

,'查無此項'))

#執行結果:查無此項

再來看看如何實現從姓名—身高—愛好 的搜尋過程,**如下:

name=

['王大'

,'王二'

,'王三'

,'王四'

]#姓名為鍵,用列表表示

high=

['178'

,'179'

,'180'

,'176'

]#身高為值,用列表表示

hobby=

['游泳'

,'跑步'

,'撞球'

,'桌球'

]zidian1=

dict

(zip

(name,high)

)#dict轉換為字典.

zidian2=

dict

(zip

(high,hobby)

)print

("王大的身高是:"

,zidian1.get(

'王大'))

#實現從姓名—身高的搜尋

print

("\n他的愛好是:\n"

,zidian2.get(zidian1.get(

'王大'))

)#再以身高為鍵,實現由身高—愛好的搜尋

print

(zidian1.items())

#輸出zidian1的內容

結果為:

dict_items([(

'王大'

,'178'),

('王二'

,'179'),

('王三'

,'180'),

('王四'

,'176')]

)

使用for迴圈語句,還可以得到字典的鍵和值。

for key,value in zidian1.items():

print

(key,

"的身高是"

,value,end=

',')

輸出結果為:

王大 的身高是 178

,王二 的身高是 179

,王三 的身高是 180

,王四 的身高是 176

,

字典推導式:

案例:輸出鍵為1—10,值為10—100的任意整數的乙個字典。

import random

randomdict=

print

(randomdict)

運用字典推導式也生成上面的案例(2)中的字典zidian1

name=

['王大'

,'王二'

,'王三'

,'王四'

]#姓名為鍵,用列表表示

high=

['178'

,'179'

,'180'

,'176'

]#身高為值,用列表表示

zidian1=

print

(zidian1)

#執行結果為:

python字典推導式

如果有如下兩個 表 list1 name age gender list2 tom 20 man 如何快速合併為乙個字典?答 字典推導式 字典推導式作用 快速合併 表為字典或提取字典中目標資料 字典key是1 5數字,value是這個數字的2次方。dict1 print dict1 list1 na...

python字典推導式 python字典推導式

17.python 字典推導式 經典 最後更新於 2020 03 21 11 57 13 在昨天的文章中,我們介紹了關於python列表推導式 的使用,字典推導式使用方法其實也類似,也是通過迴圈和條件判斷表示式配合使用,不同的是字典推導式返回值是乙個字典,所以整個表示式需要寫在 內部。一.字典推導式...

列表字典推導式

1 pep8規範 命名 2 深淺拷貝 3 迭代器,生成器 generator 這種一邊迴圈一邊計算的機制,稱為生成器,生成器其實是一種特殊的迭代器,不需要自定義 iter 和 next 自定義乙個迭代器,實現斐波那契數列 class fib object def init self,max self...