20180706
一.字典dict:用大括號(hào){}括起來(lái),內(nèi)部使用key:value的形式來(lái)保存數(shù)據(jù)
{'jay':"周杰倫",'jj':"林俊杰"}
注意:字典的key必須是可哈希的,不可變的 ? ? ? ? ? ? ? ? ?? ?list是不可哈希的,是可變的
value ?沒(méi)有限制 ? ? ? ?不是按照我們的順序保存,無(wú)序的
二.字典的相關(guān)操作
1.字典的增加
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言"} ? ? ? ? ? ? ? ? ? ? ? ? #如果key重復(fù)了,會(huì)替換原來(lái)的value
# dic["曉君"]="未知" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?===>?{"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# print(dic)
例如;
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言"}
# dic["曉君"]="未知"
# dic["曉君"]="***" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?==>?{"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"***"}
# print(dic)
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言"} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #如果字典中已經(jīng)包含了這個(gè)key,將不再保存
# dic.setdefault("曉君","未知")
# print(dic) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?==>?{"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言"}
# dic.setdefault("曉君","未知")
# dic.setdefault("曉君","***") ? ? ? ? ? ? ? ? ? ?==>{"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# print(dic)
2.字典的刪除
⑴dic.pop()
例如
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言"} ? ? ? ? ? ? ? ? ? ? ?#刪除一個(gè)元素,返回這個(gè)元素的value值
# dic.pop("昆凌")
# print(dic) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??==>{"劉懷源":"張舒文","劉亞楠":"尹少言"}
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言"}
# ret = dic.pop("昆凌")
# print(ret) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ==>周杰倫的媳婦
⑵del dic[]
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言"}
# del dic["昆凌"]
# print(dic) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?==>{"劉懷源":"張舒文","劉亞楠":"尹少言"}
⑶dic.popitem()
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# dic.popitem()
# print(dic) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ==>隨機(jī)刪除
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# ret = dic.popitem()
# print(ret) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ==>返回的是一個(gè)元組(刪除的那一項(xiàng))
⑷dic.clear()?
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言"}
# dic.clear()
# print(dic) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?==>全部清除
3.字典的修改
⑴用key去修改 ? ? ? ? ? ? ? ? ?(數(shù)字加減也可以)
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# dic["曉君"]=int("123")
# print(dic) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?==>"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"123"
例如:
dic = ["id":1,"name":"李嘉誠(chéng)","money":1000]
dic["money"]=dic["money"]-500
print(dic) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ==>"id":1,"name":"李嘉誠(chéng)","money":500
⑵update(更新)
例如:
# dic1 = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# dic2 = {"昆凌":"***媳婦","劉懷源":"張舒文","游麗":"真哥","A":"B","***":"張舒文"}
# dic1.update(dic2)
# print(dic1) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #把dic2中的內(nèi)容更新到dic1中,如果存在了key,就替換,如果不存在,就添加
# print(dic2)
4.字典的查詢
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# print(dic["昆凌"]) ? ? ? ? ? ? ? ? ? ? ? ? ? ?==>周杰倫的媳婦 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#如果key不存在直接報(bào)錯(cuò)
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# print(dic.get("劉懷源")) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?==>張舒文
# print(dic.get("劉懷源的")) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ==>None ? ? ? ? ? ? ? ? ? ? ? ? ? ?#如果key不存在,返回None
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# print(dic.get("劉懷源的","余小")) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ==>余小 ? ? ? ? ? ? ? ? ? ? #如果key不存在,直接輸出默認(rèn)值
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"} ? ? ? ? ? ? ? ? ? ?#可以幫忙添加
# dic.setdefault("昆凌的","老公")
# print(dic) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?==>"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知","昆凌的","老公"
?例如: ?
dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
ret = dic.setdefault("昆凌的","老公")
print(ret) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ==>老公 ? ?? ? ? ? ? ? ? ? ? ? ? 如果key不存在.就相當(dāng)于添加,ret這個(gè)執(zhí)行出來(lái)的是value
print(dic) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?==>"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知","昆凌的","老公"
重點(diǎn):setdefault() ? ? ①首先要判斷原來(lái)的字典中有沒(méi)有這個(gè)key,如果沒(méi)有,執(zhí)行新增
? ②用這個(gè)key去字典中查詢,如果有,返回查到的結(jié)果
5.字典的其他相關(guān)操作
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# print(dic.keys()) ? ? ? ? ? ? ? ? ? ?打印出來(lái)dict_keys(['昆凌', '劉懷源', '劉亞楠', '曉君']) ? ? ? ? ????拿到所有的key,返回key的集合,像是列表,但不是列表 ?
# for key in dic.keys(): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 可以進(jìn)行迭代循環(huán)
# print(key) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# print(dic.values())
# for value in dic.values():
# print(value)
例如:
# dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"}
# print(dic.items()) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? item(元素)
# for item in dic.items():
# print(item)
# print(item[0])
例如:
?
dic = {"昆凌":"周杰倫的媳婦","劉懷源":"張舒文","劉亞楠":"尹少言","曉君":"未知"} ? ? ? ? ? ? ? 解包 ? (元組,列表都可以)
for k,v in dic.items():
print(k,v)
三.字典的嵌套
例如:
dic = {"name":"汪峰","age":"48",
"wife":{
"name":"國(guó)際章",
"age":"40",
"salary":"10000" salary (工資)
},
"children":[
{"name":"老大","age":20},
{"name":"老二","age":16}
]
}
print(dic["children"][0]["age"])
?
print(dic.[children][0]['name']) ? ? ? ? ? ? ? ? ==>20 ? ? ? ? ? ? ? ? ? ? ? ?如果字典里面有[列表],就寫(xiě)列表里所對(duì)應(yīng)的索引
例如: ? ? ? ? ?字典的for循環(huán)
dic = {1:"A",2:"B",3:"C",4:"D"}for A in dic: ==>直接循環(huán)字典,拿到的是key
print(A)
print(dic(A)) ==>打印出來(lái)的是A所對(duì)應(yīng)value
?
轉(zhuǎn)載于:https://www.cnblogs.com/lhy979/p/9275696.html
總結(jié)
- 上一篇: RegConnectRegistry函数
- 下一篇: 关于java和c语言中,变量重名问题