python3基礎之字典

2022-09-15 00:51:18 字數 4626 閱讀 9408

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

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

d =

鍵必須是唯一不可變的(數字、字串、元組),但值則不必。

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

乙個簡單的字典例項:

dict = 

也可如此建立字典:

dict1 =

dict2 =

把相應的鍵放入到方括號中,如下例項: 訪問的鍵值不在字典裡會報錯

#!/usr/bin/python3

dict =

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

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

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

#!/usr/bin/python3

dict =

dict['age'] = 8 # 存在則更新 age

dict['school'] = "菜鳥教程" # 不存在則 新增資訊

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

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

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

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

#!/usr/bin/python3

dict =

del dict['name'] # 刪除鍵 'name'

dict.clear() # 清空字典

del dict # 刪除字典

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

兩個重要的點需要記住:

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

#!/usr/bin/python3

dict =

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

》dict['name']: 小菜鳥

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

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

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

len(dict)

>>> dict =

>>> len(dict)

3

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

str(dict)

>>> dict =

>>> str(dict)

""

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

type(variable)

>>> dict =

>>> type(dict)

刪除字典內所有元素

dict.clear()

dict =

dict.clear()

返回乙個字典的淺複製

dict.copy()

dict1 =

dict2 = dict1.copy()

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

dict.fromkeys(seq,val) #字典類直接使用的函式dict.fromkeys

seq -- 字典鍵值列表。

value -- 可選引數, 設定鍵序列(seq)對應的值,預設為 none。

以下例項展示了 fromkeys()函式的使用方法:

例項#!/usr/bin/python3

seq = ('name', 'age', '***')

dict = dict.fromkeys(seq)

print ("新的字典為 : %s" % str(dict))

dict = dict.fromkeys(seq, 10)

print ("新的字典為 : %s" % str(dict))

以上例項輸出結果為:

新的字典為 :

新的字典為 :

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

dict.get(key, default=none)

key -- 字典中要查詢的鍵。

default -- 如果指定鍵的值不存在時,返回該預設值值。

以下例項展示了 get()函式的使用方法:

#!/usr/bin/python3

dict =

print ("age 值為 : %s" % dict.get('age'))

print ("*** 值為 : %s" % dict.get('***', "na"))

以上例項輸出結果為:

age 值為 : 27

*** 值為 : na

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

key in dict

python 字典 in 操作符用於判斷鍵是否存在於字典中,如果鍵在字典 dict 裡返回 true,否則返回 false。

而 not in 操作符剛好相反,如果鍵在字典 dict 裡返回 false,否則返回 true。

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

dict.items()

以下例項展示了 items() 方法的使用方法:

例項#!/usr/bin/python3

dict =

print ("value : %s" % dict.items())

以上例項輸出結果為:

value : dict_items([('age', 7), ('name', 'runoob')])

for k,y in dict.items():

print(k,y) #同時獲取鍵和值

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

dict.keys()

>>> dict =

>>> dict.keys()

dict_keys(['name', 'age'])

>>> list(dict.keys()) # 轉換為列表

['name', 'age']

>>>

以上例項輸出結果為:

字典所有的鍵為 : dict_keys(['age', 'name'])

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

dict.setdefault(key, default=none)

key -- 查詢的鍵值。

default -- 鍵不存在時,設定的預設鍵值。

如果 key 在 字典中,返回對應的值。如果不在字典中,則插入 key 及設定的預設值 default,並返回 default ,default 預設值為 none。

#!/usr/bin/python3

dict =

print ("age 鍵的值為 : %s" % dict.setdefault('age', none))

print ("*** 鍵的值為 : %s" % dict.setdefault('***', none))

print ("新字典為:", dict)

以上例項輸出結果為:

age 鍵的值為 : 7

*** 鍵的值為 : none

新字典為:

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

dict.update(dict2)

dict =

dict2 =

dict.update(dict2)

print ("更新字典 dict : ", dict)

以上例項輸出結果為:

更新字典 dict :

dict.values()

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

#!/usr/bin/python3

dict =

print ("字典所有值為 : ", list(dict.values()))

以上例項輸出結果為:

字典所有值為 : ['female', 7, 'zara']

pop(key[,default])

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

popitem()

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

字典怎麼增加元素 python3基礎之字典

字典和列表一樣,也是python內建的一種資料結構。字典的結構如下圖 列表用中括號把元素包起來,而字典是用大括號 把元素包起來,只不過字典的每乙個元素都包含鍵和值兩部分。鍵和值是一一對應的關係。畫個難看的圖表示一下 字典中的鍵要求是唯一的,這個很好理解,如果有兩個鍵是一樣的,那我怎麼知道要找到是哪個...

Python3入門系列之 字典

字典是一種可變容器模型,且存放任何型別對像 如 字串,數字,或者列表甚至字典 每個字典有鍵名 key 和鍵值 value 且用冒號 隔開 多個字典用逗號 隔開整個字典包括在花括號中 示例 注 key為鍵名,name為鍵值 dict dict 執行結果 name print dict key dict...

Python3 教程 字典

字典是另一種可變容器模型,且可儲存任意型別物件 字典的每個鍵值 key value 對用冒號 分割,每個鍵值對之間用逗號 分割,整個字典包括在花括號 中 格式如下所示 d dict print dict name dict name print dict age dict age dict name...