欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決Python字典查找報Keyerror的問題

 更新時間:2021年05月26日 15:43:58   作者:幸運的Alina  
這篇文章主要介紹了解決Python字典查找報Keyerror的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Python的字典一般都直接查找key ,比如

dict={'a':1,'b':2,'c':3}
print(dict['a'])

但是如果在查找的key不存在的時候就會報:KeyError:

比如你要查看print(dict['d'])

由于這個時候dict里面并沒有這個key ,所以就會直接報錯,那么這個時候其實python給我們提供了一種很棒的解決方法,那就是用

setdefault,用法如下: dict.setdefault(key,[這里設(shè)置如果不存在想將值設(shè)置為啥,默認為None])

那么這里我們可以用此方法解決:

print(dict.setdefault('d',0))

然后就沒有問題啦,注意下就是setdefault是如果要想往dict中添加新值的時候就使用此函數(shù),如果只是單純想要做查找,碰到key不存在或者希望在通過這個鍵讀取值的時候能得到一個默認值,那么建議用defaultdict

首先先介紹下這個所謂的defaultdict,來自于collections模塊,collections是個集合模塊,defaultdict(function_factory)構(gòu)建的是一個類似dictionary的對象,其中key的值,自行確定賦值,但是value的類型是function_factory的類實例,而且具有默認值.這里還引入了一個概念就是工廠函數(shù),python的工廠函數(shù)就是指那些內(nèi)建函數(shù)都是類對象,當你調(diào)用他們時,實際上是創(chuàng)建了一個類實例。

比如int(),str(),set()等,這里我們看下例子:

import collections
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = collections.defaultdict(list)
for k, v in s:
    d[k].append(v)
print(d['yellow'])
print(d['white'])
print(list(d.items()))

我們最后得到的輸出結(jié)果如下:

我們可以看到,當d中沒有對應(yīng)的key時最后返回的是個空列表,那是因為我們在設(shè)置defaultdict的時候用的工廠函數(shù)是list,而list的默認值是空列表,下面我們在看下如果工廠函數(shù)是set()會是什么樣子

import collections
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = collections.defaultdict(set)
for k, v in s:
    d[k].add(v)
print(d['yellow'])
print(d['white'])
print(list(d.items()))

結(jié)果輸出如下:

補充:python報錯出現(xiàn) KeyError: 'longitude'

python報錯出現(xiàn) KeyError: ‘longitude'

報錯界面如下圖所示:

我在網(wǎng)上尋找了方法,確實找到一個解決方案:對你可能有用的解決方案一

但是我試了還是沒用,于是,當我定睛一看,發(fā)現(xiàn)竟又是由于俺的粗心造成的。啊,如下圖,按在longitude前面少了個逗號,

如下圖:

所以這個問題就解決啦,好,我繼續(xù)我的課程設(shè)計了。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • pyecharts如何使用formatter回調(diào)函數(shù)的問題

    pyecharts如何使用formatter回調(diào)函數(shù)的問題

    這篇文章主要介紹了pyecharts如何使用formatter回調(diào)函數(shù)的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python如何import文件夾下的文件(實現(xiàn)方法)

    Python如何import文件夾下的文件(實現(xiàn)方法)

    下面小編就為大家?guī)硪黄狿ython如何import文件夾下的文件(實現(xiàn)方法)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • python IDLE添加行號顯示教程

    python IDLE添加行號顯示教程

    這篇文章主要介紹了python IDLE添加行號顯示教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python通過pymysql調(diào)用MySQL進行增刪改移查

    Python通過pymysql調(diào)用MySQL進行增刪改移查

    這篇文章主要介紹了Python通過pymysql調(diào)用MySQL,從而實現(xiàn)數(shù)據(jù)的增刪改移查功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2021-12-12
  • django框架單表操作之增刪改實例分析

    django框架單表操作之增刪改實例分析

    這篇文章主要介紹了django框架單表操作之增刪改,結(jié)合實例形式分析了Django框架前臺數(shù)據(jù)操作提交與后臺處理相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • python 不關(guān)閉控制臺的實現(xiàn)方法

    python 不關(guān)閉控制臺的實現(xiàn)方法

    在win32下,雙擊python程序會打開dos窗口,但是執(zhí)行完畢后就會關(guān)閉,看不到輸出的結(jié)果
    2011-10-10
  • 深入理解Pytorch中的torch. matmul()

    深入理解Pytorch中的torch. matmul()

    這篇文章主要介紹了Pytorch中的torch. matmul()的相關(guān)資料,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Python實現(xiàn)創(chuàng)建詞云的示例詳解

    Python實現(xiàn)創(chuàng)建詞云的示例詳解

    詞云一般是根據(jù)輸入的大量詞語生成的,如果某個詞語出現(xiàn)的次數(shù)越多,那么相應(yīng)的大小就會越大,本文將利用wordcloud模塊實現(xiàn)詞云生成,需要的可以參考下
    2023-10-10
  • python 列表,集合和字典的增刪改查

    python 列表,集合和字典的增刪改查

    這篇文章主要介紹了python 列表,集合和字典的增刪改查,本文分別對他們一一說明,小編覺得這篇文章寫的還不錯,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-10-10
  • python ssh 執(zhí)行shell命令的示例

    python ssh 執(zhí)行shell命令的示例

    這篇文章主要介紹了python ssh 執(zhí)行shell命令的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09

最新評論