python 類 字典 python基礎型別 字典

2021-10-12 15:24:57 字數 2470 閱讀 2176

字典

字典是python中唯一的對映型別,採用鍵值對(key-value)的形式儲存資料。python對key進行雜湊函式運算,根據計算的結果決定value的儲存位址,所以字典是無序儲存的,且key必須是可雜湊的。可雜湊表示key必須是不可變型別,如:數字、字串、元組。

字典(dictionary)是除列表意外python之中最靈活的內建資料結構型別。列表是有序的物件結合,字典是無序的物件集合。兩者之間的區別在於:字典當中的元素是通過鍵來訪問的,而不是通過偏移訪問。

可變資料型別:列表list,字典dict     又叫不可雜湊

不可變資料型別: 元祖,bool值,數字int,字元型str            本身不可變,又叫可雜湊

key  鍵,必須是不可變型別,可雜湊

value 值,任意資料型別

建立空字典使用 

字典dict優點:

1,用二分法查詢,查詢速度快

2,儲存大量的關係型資料

字典dick特點:

字典dict是無序的。(3.5及之前的字典dict是無序的)

簡寫為dic

dic = ,

'qq':123

print(dic)

結果 , 'qq': 123}

增,兩種方法(注意與列表list區別)

直接加,如果沒有對應鍵值,則直接加在後面。如果有對應鍵值,則進行覆蓋。

dic1 =

dic1['height'] = 180

print(dic1)

dic.setdefault('') 形式,有對應鍵值,則不做任何修改。沒有對應鍵值,後面預設加none

dic = ,

'qq':123

dic.setdefault('weighe')

print(dic)

dic.setdefault('weighe',180) 另一種形式

dic = ,

'qq':123

dic.setdefault('weighe',180)

print(dic)

結果 , 'qq': 123, 'weighe': 180}

刪,dic.pop(『』)直接刪

dic =

dic.pop('age')

print(dic)

有返回值,返回被刪除的鍵值

dic =

s = dic.pop('age')

print(s)

結果18

可設定返回值,如果沒有對應的被刪鍵值,返回自己設定的值,就是下面的『不錯』

dic =

s = dic.pop('aa','不錯') #如果aa變成name,則返回小明

print(s)

結果 不錯

dic.popltem()形式,隨機刪除乙個,3.6版本預設刪除最後乙個

dic =

dic.popitem()

print(dic)

結果 dic = #這種,有返回值

print(dic.popitem())

結果 ('age', 18)

清空列表

dic =

dic.clear()

print(dic)

結果 {}

改直接改

dic =

dic['age'] = 16

print(dic)

dic1.update(dic)覆蓋增加,把dic覆蓋增加到dic1中,

dic =

dic1 =

dic1.update(dic)

print(dic1)

dic和dic1中對應的鍵,則用dic的鍵值覆蓋dic1的,dic沒有與dic1中對應的減,則直接加入dic1中,dic1中多的鍵值,則直接保留結果查

dic['直接查']直接查,沒有會報錯

dic =

print(dic["name"])

dic.get('high','設定返回的值『)

dic =

print(dic.get("high","預設返回值") ) # 沒有可以返回設定的返回值

#print(dic.get('high')) 預設返回none

只列印鍵

dic = = dic =

for i in dic: = for i in dic.keys():

print(i) = print(i)

結果 name 結果 name

age age

只列印值

dic =

for i in dic.values():

print(i)

結果 xiaoming

a = 1

b = 2

a,b = b,a

print(a,b)

items 同時列印keys 和 valuces

dic =

for i in dic.items():

print(i)

python字典換行輸出 Python字典如何換行

python字典如何換行 python字典換行的方法如下 1 換行時保證行尾是逗號即可a key2 val2 key3 val3 key4 val4 key5 val5 注意這種情況下,每一行第乙個非空白字元都要和第一行的括號後的字元對齊,並且最後的括號是不換行 直接跟在最後乙個元素後面 的。3 另...

python實現字典排序 python 字典排序

引子 字典,形如 dic 字典中的元素沒有順序,所以dic 0 是有語法錯誤的。並且不可以有重複的鍵值,所以 dic.add c 4後,字典變成 待解決問題 如何根據需要可以根據 鍵 或 鍵值 進行不同順序的排序?函式原型 sorted dic,value,reverse dic為比較函式,valu...

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

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