python字典的setdefault的巧妙用法
現(xiàn)在有一個(gè)員工字典,類似這樣的結(jié)構(gòu)
staff_dic = {"name":"滅霸", "age": 10000, "hobbies":["打響指", "扣腳"]}
假設(shè)我們要給員工添加愛(ài)好信息,但是我們不知道hobby這個(gè)鍵存不存在,我們通常的做法是分為三步:
1)從字典中取到hobbies對(duì)應(yīng)的值,如果沒(méi)有hobbies這個(gè)鍵,則設(shè)置這個(gè)值為空列表
2)對(duì)這個(gè)值進(jìn)行更新操作
3)將更新后的值賦值回字典
hobbies= staff_dic.get("hobby",[])
hobbies.append("毀滅宇宙")
staff_dic["hobbies"] = hobbies
以上方法進(jìn)行了兩次查詢操作
如果使用setdefault,只需要查詢一次
staff_dic.setdefault("hobbies", []).append("毀滅宇宙")
注意:setdefault()有返回值,返回值為取到的值(鍵存在)或默認(rèn)值(鍵不存在)
相關(guān)文章
python實(shí)現(xiàn)基于信息增益的決策樹(shù)歸納
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)基于信息增益的決策樹(shù)歸納,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
python數(shù)據(jù)分析之實(shí)現(xiàn)地圖數(shù)據(jù)繪制
這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)分析中如何實(shí)現(xiàn)地圖數(shù)據(jù)繪制,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-12-12
Python+Tkinter實(shí)現(xiàn)股票K線圖的繪制
K線圖又稱蠟燭圖,常用說(shuō)法是“K線”。K線是以每個(gè)分析周期的開(kāi)盤(pán)價(jià)、最高價(jià)、最低價(jià)和收盤(pán)價(jià)繪制而成。本文將利用Python+Tkinter實(shí)現(xiàn)股票K線圖的繪制,需要的可以參考一下2022-08-08
淺談django url請(qǐng)求與數(shù)據(jù)庫(kù)連接池的共享問(wèn)題
今天小編就為大家分享一篇淺談django url請(qǐng)求與數(shù)據(jù)庫(kù)連接池的共享問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
解決python錯(cuò)誤提示:TypeError: expected string or&nb
這篇文章主要介紹了解決python錯(cuò)誤提示:TypeError: expected string or bytes-lik問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Python使用Transformers實(shí)現(xiàn)機(jī)器翻譯功能
近年來(lái),機(jī)器翻譯技術(shù)飛速發(fā)展,從傳統(tǒng)的基于規(guī)則的翻譯到統(tǒng)計(jì)機(jī)器翻譯,再到如今流行的神經(jīng)網(wǎng)絡(luò)翻譯模型,尤其是基于Transformer架構(gòu)的模型,翻譯效果已經(jīng)有了質(zhì)的飛躍,本文將詳細(xì)介紹如何使用Transformers庫(kù)來(lái)實(shí)現(xiàn)一個(gè)機(jī)器翻譯模型,需要的朋友可以參考下2024-11-11
表格梳理python內(nèi)置數(shù)學(xué)模塊math分析詳解
這篇文章主要為大家介紹了python內(nèi)置數(shù)學(xué)模塊math的分析詳解,文中通過(guò)表格梳理的方式以便讓大家在學(xué)習(xí)過(guò)程中一目望去清晰明了,有需要的朋友可以借鑒參考下2021-10-10
python itchat給指定聯(lián)系人發(fā)消息的方法
這篇文章主要介紹了python itchat給指定聯(lián)系人發(fā)消息的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
一文帶你了解Python協(xié)程的詳細(xì)解釋以及例子
協(xié)程不是計(jì)算機(jī)提供的,計(jì)算機(jī)只提供:進(jìn)程、線程。協(xié)程是人工創(chuàng)造的一種用戶態(tài)切換的微進(jìn)程,使用一個(gè)線程去來(lái)回切換多個(gè)進(jìn)程,本文就來(lái)通過(guò)一些示例和大家詳細(xì)聊聊Python中的協(xié)程吧2023-03-03

