python 字典中取值的兩種方法
阿新 • • 發佈:2019-02-20
a={'name':'tony','sex':'male'}
獲得name的值的方式有兩種
print a['name'],type(a['name'])
print a.get('name'),type(a.get('name'))
發現這兩個結果完全一致,並沒有任何的差異。
怎麼選擇這兩個不同的字典取值方式呢?
如果字典已知,我們可以任選一個,而當我們不確定字典中是否存在某個鍵時,我之前的做法如下
if 'age' in a.keys():
print a['age']
因為不先判斷的話,直接使用a[‘age’]會導致報錯keyerror,提示沒有該key的值。
而是用a.get(‘age’) 則不會產生錯誤,解析器返回值如果存在就返回相應的value, 如果不存在就返回None.
if a.get('age'):
print a['age']
而想要改變value 的值,則需要通過
a[‘name’]=’Jack’
使用a.get(‘name’) = ‘Jack’
編譯器則會提示 SyntaxError: can’t assign to function call
以上就是字典取值時的兩種方法和他們的區別。歡迎大家留言討論