python中字典的常見操作

2021-08-26 05:32:33 字數 2101 閱讀 8181

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

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

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

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

乙個簡單的字典例項:

dict =
也可如此建立字典:

dict1 = 

dict2 =

字典的新增,格式為:字典名[key]=value

字典的修改(只修改值,不修改鍵),格式為:字典名[key]=新的value

刪除主鍵,那麼與其相對應的值也將被刪除,其格式為:del 字典名[「主鍵名」]

dict1 = 

dict1["def"]=789 #設定其key為字串"def",值為789

print (dict1) #輸出結果為:

dict1["def"]=120 #修改"def"鍵所對應的值為120

print (dict1) #輸出結果為:

del dict1["def"] #刪除"def"主鍵,與其對應的值也將一併刪除

print (dict1) #輸出結果為:

字典的查詢,格式為:字典名[主鍵]

使用get函式來判斷所查詢的內容是否存在,存在返回其值,不存在返回空,格式為:字典名.get(主鍵名)

dict1 = dict1["efg"]    #查詢主鍵是"efg"所對應的值,顯示的結果為789

dict1.get["abc"] #查詢主鍵為"abc"的值,程式返回456

dict1.get["www"] #查詢主鍵為"www"的值,因為該主鍵未能在本字典內找到,故無返回值(返回為空)

遍歷:將檔案,字串,列表,元組,字典等裡面的資料一一枚舉出來

字典的遍歷:1,遍歷字典中的key(鍵)

使用key()方法得到字典中的所有的主鍵名

dict1 =         #建立字典

dict1.key() #顯示字典dict1中的主鍵名,得到的結果為dict_keys(['abc', 'efg']).目前暫時將其理解為列表["abc","efg"]

for i in dict1.key(): #遍歷該字典所有的主鍵

print(i) #輸出的結果為字串"abc","efg"

使用values()方法得到字典中的所有的值

dict1 =         #建立字典

dict1.values() #顯示字典dict1中的值名,得到的結果為dict_values([456, 789]).目前暫時將其理解為列表

for i in dict1.values(): #遍歷該字典所有的值

print(i) #輸出的結果為456,789

使用items()方法獲取字典中所有的主鍵和值,並將其轉換成列表中鑲嵌著元組

dict1 =         #建立字典 

dict1.items() #輸出的結果為dict_items([('abc', 456), ('efg', 789)]),可以暫且認為是列表

for i in dict1.items(): #遍歷該字典所有的主鍵和值

print("key=%s,values=%d"%(i[0],i[1]) ) #使用%s可以理解為先佔乙個值,這個值為字串,真實值為i[0],%d表示這個值為數字,真實值為i[1],其後面的輸出的結果為key=abc,values=456 key=efg,values=789.

Python中字典的常見基本操作

字典 是若干組鍵值對的集合,表現形式 使用字典的可讀性比使用列表的可讀性要高,字典主要用在儲存描述性資訊 資料 方法 基本格式 返回值說明 查len len dict 字典鍵值對總數 統計字典中鍵值對的總數 getdict.get key 對應的value none 獲取對應value資料,key不...

字典的常見操作

字典的每個元素中的資料是可以修改的,只要通過key找到,即可修改 demo info newid input 請輸入新的學號 info id int newid print 修改之後的id為 d info id info print id為 d info id 程式會終端執行,因為訪問了不存在的鍵 ...

python中字典的操作

temp 或者 temp dict 上述方法都可以用來建立乙個空的字典。一 用if判斷之後新增鍵和值 if temp.get num i none temp num i 1這時候就新增了乙個鍵為num i 的元素,並且把它的值賦為1。二 使用setdefault 方法 temp.setdefault...