python字典的setdefault的巧妙用法
現(xiàn)在有一個員工字典,類似這樣的結(jié)構(gòu)
staff_dic = {"name":"滅霸", "age": 10000, "hobbies":["打響指", "扣腳"]}
假設(shè)我們要給員工添加愛好信息,但是我們不知道hobby這個鍵存不存在,我們通常的做法是分為三步:
1)從字典中取到hobbies對應(yīng)的值,如果沒有hobbies這個鍵,則設(shè)置這個值為空列表
2)對這個值進(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庫textract提取各種文檔類型中文本數(shù)據(jù)
Python的textract庫是一個強(qiáng)大的工具,它可以從各種文檔類型中提取文本數(shù)據(jù),無論是PDF、Word文檔、圖片還是其他格式的文件,textract都可以輕松地將文本提取出來,本文將詳細(xì)介紹textract的功能和用法,并提供豐富的示例代碼來幫助大家深入了解2024-01-01Python實(shí)現(xiàn)文件信息進(jìn)行合并實(shí)例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)文件信息進(jìn)行合并實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Python使用PyQt5/PySide2編寫一個極簡的音樂播放器功能
這篇文章主要介紹了Python中使用PyQt5/PySide2編寫一個極簡的音樂播放器功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02Python通過RabbitMQ服務(wù)器實(shí)現(xiàn)交換機(jī)功能的實(shí)例教程
RabbitMQ是一個基于消息隊(duì)列的服務(wù)器程序,Python可以通過Pika庫來驅(qū)動它,這里我們將來看一個Python通過RabbitMQ服務(wù)器實(shí)現(xiàn)交換機(jī)功能的實(shí)例教程:2016-06-06使用Python中的reduce()函數(shù)求積的實(shí)例
今天小編就為大家分享一篇使用Python中的reduce()函數(shù)求積的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06對python中不同模塊(函數(shù)、類、變量)的調(diào)用詳解
今天小編就為大家分享一篇對python中不同模塊(函數(shù)、類、變量)的調(diào)用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python不使用int()函數(shù)把字符串轉(zhuǎn)換為數(shù)字的方法
今天小編就為大家分享一篇Python不使用int()函數(shù)把字符串轉(zhuǎn)換為數(shù)字的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07