1. 程式人生 > >python 字典中取值的兩種方法

python 字典中取值的兩種方法

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

以上就是字典取值時的兩種方法和他們的區別。歡迎大家留言討論