python中字典程式 python中的 字典

2021-10-11 15:05:49 字數 2280 閱讀 2117

字典——dict

字典是無序,可變的資料型別。

字典:用於儲存資料,儲存大量資料,字典要比列表快;將資料和資料之間進行關聯。

定義:dic = #每個 鍵值對 以逗號分隔成乙個元素

字典的值: 可以是任意的資料型別。

字典的鍵:必須是可雜湊的——不可改變的資料型別;要求鍵唯一,如果有重複的,則後面的值會把前面的值覆蓋掉。

(注:可雜湊的 -- 不可變的資料型別(數字、字串、布林值) -- 避免雜湊衝突使用了 「開放定址法」 )

(不可雜湊的 -- 可變的資料型別 (列表、字典) )

增:dic =

dic["鍵"] = 值 # 暴力新增

dic["d"] = 40

dic.setdefault(鍵,值) # 通過鍵去字典中查詢,如果鍵不存在執行新增,如果鍵存在則不會新增

dic.setdefault("c",40) # "c" 存在,不新增

dic.setdefault("f",40) # "f"不存在,新增到字典

刪:del dic["a"] # 通過字典的鍵,刪除鍵值對

dic.pop("b") # 通過字典的鍵,刪除鍵值對,有返回值,返回的是被刪除的值

dic.clear() # 清空字典

改:dic["b"] = 200 #字典中沒有此鍵值對的時候就是新增,當鍵在字典中存在的時候就是修改 # "有則改,無則加"

dic.update(dic1) # 更新,裡面必須放字典。update括號中的字典(dic1)級別高於前面的字典(dic)

# 執行:先將具有相同鍵的內容覆蓋,再在字典末尾新增dic沒有的鍵值對

查:for i in dic:

print(i) # for 迴圈獲取的是鍵值對的鍵

dic.get(鍵) # 通過鍵獲取值,如果鍵不存在字典中會返回 none

dic[鍵] # 通過鍵獲取值,如果鍵不存在字典中會報錯!

其他操作:

dic =

1.for i in dic:

print(i,dic.get(i)) # 迴圈輸出所有的鍵和值 a 1 b 2 c 3

2. keys() 所有的鍵

print(dic.keys()) # 高仿列表,獲取的是字典中所有的鍵 -- dict_keys(['a', 'b', 'c']) 支援for迴圈 不支援索引

for i in dic.keys():

print(i) # 迴圈輸出所有的鍵 a b c

print(dic.keys()[0]) # 報錯 'dict_keys' object does not support indexing(不支援索引)

3. values() 所有的值

print(dic.values()) # 高仿列表,獲取的是字典中所有的值 ——dict_values([1, 2, 3])

print(list(dic.values())) # 獲取的是字典中所有的值,轉換成 真的列表

4. items() 所有的鍵和值

print(dic.items()) # 高仿列表,獲取的是字典中所有的鍵和值,存放在元組中 ——dict_items([('a', 1), ('b', 2), ('c', 3)])

for i in dic.items():

print(i[0],i[1]) #將鍵和值從元組中迴圈列印出 a 1 b 2 c 3

5. 將字典中的值放到列表中

lst =

for i in dic:

print(lst)

解構:a = 10

b = 20

a,b = b,a

print(a,b) # 實現a,b數字的交換,列表、元組都可以

a,_,b = (3,4,5)

print(a,b) # 3 5 等號後邊的值和前面的變數名要一一對應(假如只要a,b)

a = 10,12 # 本質就是乙個元組

print(a) # (10,12)

a,b = "23"

print(a,b) # 2 3

a,b =

print(a,b) #輸出 1 2(鍵)

for i in dic.items():

print(i) # 獲取的是每個元素,結果:(鍵,值)

for k,v in dic.items():

print(k,v) # 獲取每個元素的鍵和值

字典的巢狀:

查詢的時候一次一次的通過鍵查詢。

dic[鍵]

dic = }}

print(dic[1002]["汪峰"]["前妻2"][1]) # 熊二

python內建字典 python中字典的內建方法

python字典包含了以下內建方法 功能 字典 clear 函式用於刪除字典內所有元素。語法 dict.clear 引數 無 返回值 沒有任何返回值。dict print 字典長度 d len dict 字典長度 2 dict.clear print 字典刪除後長度 d len dict 字典刪除後...

python中建立類role 初識Python類

吐槽 學習物件導向就像你追乙個女神一樣,剛剛有點感覺了,過幾天又陷入絕望的感覺,很蛋疼。類的語法 classperson object print learning class test person test就是類person的例項化物件 例項化,就是以person類為模板,在記憶體裡開闢一塊空間...

python字典的小程式

coding utf 8 古老的rot13加密法 def rot13encode str arr str str.lower for i in range len str if str i a and str i z ordnum ord str i if ordnum ord m ord將字元轉化...