亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:12日期:2022-06-18 11:12:35

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

dict={’a’:1,’b’:2,’c’:3}print(dict[’a’])但是如果在查找的key不存在的時候就會報:KeyError:

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

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

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

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

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

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

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

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

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

import collectionss = [(’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()))

我們最后得到的輸出結果如下:

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

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

import collectionss = [(’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()))

結果輸出如下:

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

補充:python報錯出現 KeyError: ’longitude’

python報錯出現 KeyError: ‘longitude’

報錯界面如下圖所示:

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

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

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

如下圖:

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

所以這個問題就解決啦,好,我繼續我的課程設計了。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美金妇欧美乱妇视频 | 免费在线观看视频网站 | 日韩美女强理论片 | 亚洲成a人片在线观看中 | 亚洲国产精品综合久久久 | 国产成人精选免费视频 | 1769视频在线观看国产 | 欧美毛片aaa激情 | 亚洲一区二区三区四区视频 | 乱色视频中文字幕 | 中文字幕一区在线播放 | 午夜草草| 国产视频一区二区在线观看 | 看黄色网址 | 黄色毛片前黄 | 久草在线免费播放 | 亚洲国产精品久久久久秋霞66 | 欧美啪啪毛片一区二区 | 在线播放国产一区 | 久久青草免费线观最新 | a级精品国产片在线观看 | 国产a v高清一区二区三区 | 天堂tv亚洲tv日本tv不卡 | 99在线观看视频免费精品9 | 久久久久琪琪免费影院 | 久久久久久久久久免免费精品 | 亚洲国产午夜看片 | 久久精品视频大全 | 国产精品嫩草视频永久网址 | 欧美高清视频www夜色资源 | 免费看黄色网页 | 欧美一级毛片在线播放 | 国产一区二区不卡 | 福利视频在线观看www. | 普通话对白国产情侣自啪 | 亚洲人成亚洲人成在线观看 | 久久久精品视频在线观看 | 国产精品久久视频 | 国内精品久久久久激情影院 | 国产一区二区影视 | 国产真实乱人偷精品 |