取字典的值 Python小課堂 字典

2021-10-16 02:11:30 字數 3621 閱讀 3675

python3字典

字典是另一種可變容器模型,且可儲存任意型別物件。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:

d =

鍵必須是唯一的,但值則不必。

值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。

乙個簡單的字典例項:

dict =

也可如此建立字典:

dict1 =

dict2 =

01

訪問字典裡的值

把相應的鍵放入到方括號中,如下例項:

#!/usr/bin/python3 

dict =  

print ("dict['name']: ", dict['name'])

print ("dict['age']: ", dict['age'])

以上例項輸出結果:

dict['name']:  runoob

dict['age']:  7

如果用字典裡沒有的鍵訪問資料,會輸出錯誤如下:

#!/usr/bin/python3 

dict =  

print ("dict['alice']: ", dict['alice'])

以上例項輸出結果:

traceback (most recent call last):

file "test.py", line 5, in

print ("dict['alice']: ", dict['alice'])

keyerror: 'alice'

02

修改字典

向字典新增新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下例項:

#!/usr/bin/python3 

dict =  

dict['age'] = 8               # 更新 agedict['school'] = "菜鳥教程"  # 新增資訊 

print ("dict['age']: ", dict['age'])

print ("dict['school']: ", dict['school'])

以上例項輸出結果:

dict['age']:  8

dict['school']:  菜鳥教程

03

刪除字典元素

能刪單一的元素也能清空字典,清空只需一項操作。

顯示刪除乙個字典用del命令,如下例項:

#!/usr/bin/python3 

dict =  

del dict['name'] # 刪除鍵 'name'dict.clear()     # 清空字典

del dict         # 刪除字典 

print ("dict['age']: ", dict['age'])

print ("dict['school']: ", dict['school'])

但這會引發乙個異常,因為用執行 del 操作後字典不再存在:

traceback (most recent call last):

file "test.py", line 9, in

print ("dict['age']: ", dict['age'])

typeerror: 'type' object is not subscriptable

注:del() 方法後面也會討論。

04

字典鍵的特性

字典值可以是任何的 python 物件,既可以是標準的物件,也可以是使用者定義的,但鍵不行。

兩個重要的點需要記住:

1)不允許同乙個鍵出現兩次。建立時如果同乙個鍵被賦值兩次,後乙個值會被記住,如下例項:

#!/usr/bin/python3 

dict =  

print ("dict['name']: ", dict['name'])

以上例項輸出結果:

dict['name']:  小菜鳥

2)鍵必須不可變,所以可以用數字,字串或元組充當,而用列表就不行,如下例項:

#!/usr/bin/python3 

dict = print ("dict['name']: ", dict['name'])

以上例項輸出結果:

traceback (most recent call last):

file "test.py", line 3, in

dict =

typeerror: unhashable type: 'list'

python字典包含了以下內建函式:

序號函式及描述

例項len(dict)

計算字典元素個數,即鍵的總數。

>>> dict =

>>> len(dict)

str(dict)

輸出字典,以可列印的字串表示。

>>> dict =

>>> str(dict)

""type(variable)

返回輸入的變數型別,如果變數是字典就返回字典型別。

>>> dict =

>>> type(dict)

python字典包含了以下內建方法:

序號函式及描述

radiansdict.clear()

刪除字典內所有元素

radiansdict.copy()

返回乙個字典的淺複製

radiansdict.fromkeys()

建立乙個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值

radiansdict.get(key, default=none)

返回指定鍵的值,如果值不在字典中返回default值

key in dict

如果鍵在字典dict裡返回true,否則返回false

radiansdict.items()

以列表返回可遍歷的(鍵, 值) 元組陣列    

radiansdict.keys()

返回乙個迭代器,可以使用 list() 來轉換為列表

radiansdict.setdefault(key, default=none)

和get()類似, 但如果鍵不存在於字典中,將會新增鍵並將值設為default

radiansdict.update(dict2)

把字典dict2的鍵/值對更新到dict裡

radiansdict.values()

返回乙個迭代器,可以使用 list() 來轉換為列表

pop(key[,default])

刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。否則,返回default值。

popitem()

隨機返回並刪除字典中的最後一對鍵和值。

python小課堂

每週一見

python學習筆記 獲取字典特定值對應的鍵

對於字典,通過 鍵 獲得 值 非常簡單,但通過 值 獲得 鍵 則需繞些彎子。假設 def getkey dic,value if value not in dic.values return none result set for key in dic if dic key value result...

python獲取字典或者列表中的某個值

獲取字典中的某個值 字典 key 當key不存在,會報錯 keyerror 字典.get key key不存在不會報錯,返回none,也可指定返回值 dict1 print dict1.get a 不存在 print dict1 a 獲取列表中的某個值 列表 index 索引位置,從0開始,如果超過...

python 獲取字典特定值對應的鍵的實現

對於字典,通過 鍵 獲得 值 非常簡單,但通過 值 獲得 鍵 則需繞些彎子。一 通用 自行定義函式方式 假設 dwww.cppcns.comef getkey dic,value if value not in dic return none result set for key in dic re...