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庫(kù)textract提取各種文檔類型中文本數(shù)據(jù)
Python的textract庫(kù)是一個(gè)強(qiáng)大的工具,它可以從各種文檔類型中提取文本數(shù)據(jù),無(wú)論是PDF、Word文檔、圖片還是其他格式的文件,textract都可以輕松地將文本提取出來(lái),本文將詳細(xì)介紹textract的功能和用法,并提供豐富的示例代碼來(lái)幫助大家深入了解2024-01-01python3中的函數(shù)與參數(shù)及空值問(wèn)題
這篇文章主要介紹了python3-函數(shù)與參數(shù)以及空值,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11Python實(shí)現(xiàn)文件信息進(jìn)行合并實(shí)例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)文件信息進(jìn)行合并實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Python使用PyQt5/PySide2編寫一個(gè)極簡(jiǎn)的音樂(lè)播放器功能
這篇文章主要介紹了Python中使用PyQt5/PySide2編寫一個(gè)極簡(jiǎn)的音樂(lè)播放器功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02Python通過(guò)RabbitMQ服務(wù)器實(shí)現(xiàn)交換機(jī)功能的實(shí)例教程
RabbitMQ是一個(gè)基于消息隊(duì)列的服務(wù)器程序,Python可以通過(guò)Pika庫(kù)來(lái)驅(qū)動(dòng)它,這里我們將來(lái)看一個(gè)Python通過(guò)RabbitMQ服務(wù)器實(shí)現(xiàn)交換機(jī)功能的實(shí)例教程:2016-06-06使用Python中的reduce()函數(shù)求積的實(shí)例
今天小編就為大家分享一篇使用Python中的reduce()函數(shù)求積的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06對(duì)python中不同模塊(函數(shù)、類、變量)的調(diào)用詳解
今天小編就為大家分享一篇對(duì)python中不同模塊(函數(shù)、類、變量)的調(diào)用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python不使用int()函數(shù)把字符串轉(zhuǎn)換為數(shù)字的方法
今天小編就為大家分享一篇Python不使用int()函數(shù)把字符串轉(zhuǎn)換為數(shù)字的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07