字典的魔法

2022-04-02 12:25:24 字數 2384 閱讀 9477

#

字典 dict類 ,乙個kv稱為乙個鍵值對,value可以是任意型別,可以多層巢狀.

info =

info =

],"k4

":(11, 22, 33, 44)

}print

(info)

#key的值

#list不可以,tuple可以,為什麼?

#list允許被修改,tuple不允許被修改

#dict是按照hash表進行儲存的,所有的key都會轉換成乙個hash值,放入乙個表中,value原樣存放,列表是不支援轉換成hash值的.

#字典可以作為字典的key嗎?不可以.

info =:"v1"

}print(info) #

#字典是有序的嗎?每次執行,顯示的結果都不一樣.因此,字典無序

info =

],"k4

":(11, 22, 33, 44),

2:"two"

}print

(info)

#獲取值, 只能通過索引,不能通過切片,因為dict是無序的

print(info["

k1"]) #

10print(info[2])

print(info["

k3"][3]["

kk2"][0]) #11#

刪除kv

del info["k1"

]print

(info)

del info["

k3"][3]["

kk1"

]print

(info)

#迴圈 for,while不可以

for item in

info:

print(item) #

只輸出key

for item in

info.keys():

print(item) #

和上面的結果一樣

for item in

info.values():

print(item) #

只輸出vlaues

for key in

info.keys():

print(key, info[key]) #

同時輸出key和vlaue

for k,v in

info.items():

print(k, v) #

同時輸出key和vlaue

dict的魔法

#

clear

#copy 淺拷貝

#fromkeys @staticmethod靜態方法, 支援類名直接呼叫該方法

v = dict.fromkeys(["

k1", 123], 123) #

傳入可迭代物件.根據序列,建立字典,指定統一的值

print(v) #

#get 根據key獲取值,可以不存在時返回none,還可以指定預設值.

dic =

print(dic.get("k1"

))print(dic.get("

k2")) #

none

print(dic.get("

k2", 1111)) #

1111

#items

#keys

#values

#pop 刪除指定key並返回value的值

dic =

v = dic.pop("k1"

)print(dic) #

print(v) #

v1v = dic.pop("

k2", 90000) #

90000為key不存在的時候預設返回的值.s

dic =

k, v = dic.popitem() #

隨機刪print(dic, k, v) #

k3 v3

#setdefault 設定值

#但若存在,不設定只獲取當前key對應的值

#若不存在,新增kv

dic =

v = dic.setdefault("

k1", "

123"

)print(dic, v) #

v1v = dic.setdefault("

k4", "v4"

)print(dic, v) #

v4#update

dic =

dic.update()

print(dic, v) #

dic.update(k1=123, k3=356, k4=1234) #

python內部做轉換,轉換成dict

print(dic) #

#keys\values\items\get\update

字典的魔法

一.字典 dict 1.基本結構。info 字典的value可以是任何值,還可以巢狀。列表,字典不能作為字典的key,布林值可以做key,注意不要和0,1 重複 info 2.字典是無序的。3.通過索引的方式找到指定元素11.不能通過切片的方式,因為無需序。4.字典支援del 刪除指定內容,能進行f...

python 字典的魔法

字典 dict,字典是無序的 info 字典的value可以是任何值,列表 字典不能作為字典的key 可以索引 刪除 for迴圈 fromkeys 根據序列建立字典,並指定統一的值 get 根據key獲取值,key不存在時,可以指定預設值 none pop 刪除並獲取值 setdefoult 設定值...

leetcode實現魔法字典

1.字首樹 使用字首樹構建字典,當search的每乙個word,class trienode trienode class magicdictionary p isword true flag標記是否使用了替換乙個字母的機會,如果替換乙個字母之後能夠匹配,則返回true bool subsearch...