Python字典操作及方法總結

2021-10-08 03:44:06 字數 2295 閱讀 3642

前言:本博文主要講解python字典的概念及用法。

字典是另一種可變容器模型,且可儲存任意型別物件,如字串、數字、元組等其他容器模型。

語法:

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

dicts =

示例:

# 建立乙個字典用以儲存資訊

dict1 =

# 建立乙個空字典

dict2 =

dict2 =

dict

()

注意:因為字典儲存的資料是無序的,所以它沒有索引,那怎麼去獲取元素呢?我們可以把相應的鍵放入到方括號中,如下例項:

print

(dict1[

"name"

], dict1[

"age"

])

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

print

(dict1[

"***"])

# keyerror: '***'

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

# 修改name鍵對應的值

dict1[

"name"]=

"李四"

# 增加***鍵

dict1[

"***"]=

"男"print

(dict1)

利用del能刪除單一的元素或者字典,利用clear()能清空字典,如下:

# 刪除name鍵

del dict1[

"name"

]print

(dict1)

# 清空列表

dict1.clear(

)print

(dict1)

# 刪除列表

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

注意:

不允許同乙個鍵出現兩次。建立時如果同乙個鍵被賦值兩次,前乙個值會被覆蓋,後乙個值會被記住。

鍵必須不可變,所以可以用數字,字串或元組充當,而用列表就不行。

函式:

len(dict):計算字典元素個數,即鍵的總數。

str(dict):輸出字典可列印的字串表示。

type(variable):返回輸入的變數型別,如果變數是字典就返回字典型別。

方法:

radiansdict.clear():刪除字典內所有元素。

radiansdict.copy():返回乙個字典的淺複製。

radiansdict.fromkeys():建立乙個新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對應的初始值。

radiansdict.get(key, default=none):返回指定鍵的值,如果值不在字典中返回default值。

radiansdict.keys():以列表返回乙個字典所有的鍵。

radiansdict.values():以列表返回字典中的所有值。

radiansdict.items():以列表返回可遍歷的(鍵, 值) 元組陣列。

radiansdict.setdefault(key, default=none):和get()類似, 但如果鍵不已經存在於字典中,將會新增鍵並將值設為default。

radiansdict.update(dict2):把字典dict2的鍵/值對更新到dict裡。

key in dict:如果鍵在字典dict裡返回true,否則返回false。

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

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

Python字典操作簡明總結

1.dict 建立字典 複製 如下 fdict dict x 1 y 2 fdict 2.fromkeys 來建立乙個 預設 字典,字典中元素具有相同的值 複製 如下 ddict fromkeys x y 1 ddict 3.遍歷字典 使用keys 遍歷 複製 如下 dict2 for key in...

Python 字典 常用方法 總結

格式 字典 鍵 key 一般使用字串型別,值 value 可以是任何型別 以鍵值對儲存,鍵是唯一的,如果重複,後者覆蓋前者 字典不保證順序 查 值 字典 鍵 根據 key 查詢值 value 字典.get 鍵,預設值 根據鍵 key 獲取值 vlaue 如果 key 不存在,返回 none,或者自己...

python操作字典 Python 字典操作高階

學習了 python 基本的字典操作後,學習這些高階操作,讓寫出的 更加優雅簡潔和 pythonic 與字典值有關的計算 問題想對字典的值進行相關計算,例如找出字典裡對應值最大 最小 的項。解決方案一 假設要從字典 中找出值最小的項,可以這樣做 d min zip d.values d.keys 2...