pythondict中的get()和setdefault()方法的使用


fromkeys()用指定的鍵建立新字典

 

dict.get(key)方法,比較友好的訪問字典方法,當這個鍵在字典中不存在的時候默認會返回None,而不會報錯。

 

而get()方法也可以設置特定的返回值

與 get()方法類似的方法是dict.setdefault()

dict.setdefault(key)方法不僅僅是獲得給定鍵對應的值,當這個鍵不存在字典中的時候,setdefault(key)方法會把這個key和value添加到字典中,

而默認添加的value是None

 

有一點需要解釋,使用dict.setdedault(key,value)之后的返回值,如果不存在返回的就是后邊設置的值的類型

value=dict.setdedault(key,value)
例如:
dict.setdedault(key,{}),如果存在返回的就是那個值,如果不存在那么返回的就是字典類型。
update()函數可以把一個字典a添加到另一個字典b中,如果在添加的過程中,發現b中的鍵和a中的鍵重復,那么會覆蓋掉a中的鍵-值
利用get()返回值可以設置的方法強大的功能,可以使程序變得更加合理
people ={

'Alice':{'phone':'2341','addr':'A street 111'},
'Beth':{'phone':'2019','addr':'B street 222'},
'Ceil':{'phone':'3581','addr':'C street 333'}
}
labels={'phone':'phone number','addr':'address'}
name = input('Name:')
request = input('Phone_number(p) or Address(a)?')
key = request
if request=='p':key='phone'
if request=='a':key='addr'
person = people.get(name,{})#get沒有的話返回空字典,利用這個返回的空字典做文章
result=person.get(key,'not avaiable')#空字典里面啥也沒有,返回not avaiable
label=labels.get(key,key)#
print("%s's %s is %s." % (name ,label,result))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM