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))