亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

章節
問答
課簽
筆記
評論
占位
占位

Python讀取dict元素

我們現在可以創建一個dict,保存名字和成績的對應關系。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49,
    'Gaven': 86
}

此時,如果想通過名字來查詢某個同學的成績,也就是通過key來查詢value,這個時候怎么辦呢?
dict提供通過key找到對應value的功能,通過d[key]的形式,就可以得到對應的value。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49,
    'Gaven': 86
}
print(d['Bob']) # ==> 60
print(d['Alice']) # ==> 45

這和list通過下標找到對應位置的元素是類似的。
回顧一下前面使用下標的方式訪問list元素的時候,當下標不存在時,就會引發錯誤,在dict中,也是一樣的,當對應的key不存在時,也會引發錯誤。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49,
    'Gaven': 86
}
print(d['Dodo'])
# 拋出異常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'Dodo'

它的意思是key不存在,因此我們在需要通過key找到value時,一定要先判斷key存不存在,然后才使用上面的方式獲取對應的value,以避免錯誤。

if 'Alice' in d:
    print(d['Alice']) # ==> 45
if 'Dodo' in d: # Dodo不存在,所以不會走下面的邏輯
    print(d['Dodo'])

除了使用這種方法,還有一種方法可以通過key來獲取對應的value,這種方法不會引起錯誤,dict本身提供get方法,把key當作參數傳遞給get方法,就可以獲取對應的value,當key不存在時,也不會報錯,而是返回None。

print(d.get('Alice')) # ==> 45
print(d.get('Dodo')) # ==> None

因為通過get方法在代碼實現上更加簡單,且不會引起錯誤,因此更加推薦使用get方法來獲取dict的元素。

任務

根據如下dict,打印出Alice, Bob, Candy, Mimi, David的成績,當同學不存在時,打印None。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}
?不會了怎么辦

參考答案:

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}
print(d.get('Alice'))
print(d.get('Bob'))
print(d.get('Candy'))
print(d.get('Mimi'))
print(d.get('David'))
||

提問題

寫筆記

公開筆記
提交
||

請驗證,完成請求

由于請求次數過多,請先驗證,完成再次請求

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務號

綁定后可得到

  • · 粉絲專屬優惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問題答復提醒
  • · 賬號支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書簽

邀請您關注公眾號
關注后,及時獲悉本課程動態

舉報

0/150
提交
取消
全部 精華 我要發布
全部 我要發布
最熱 最新
只看我的

手記推薦

更多

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?