#字典 dict類 ,乙個kv稱為乙個鍵值對,value可以是任意型別,可以多層巢狀.
info =
info =
],"k4
":(11, 22, 33, 44)
(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"
(info)
#獲取值, 只能通過索引,不能通過切片,因為dict是無序的
print(info["
k1"]) #
10print(info[2])
print(info["
k3"][3]["
kk2"][0]) #11#
刪除kv
del info["k1"
(info)
del info["
k3"][3]["
kk1"
(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...