Python中字典的setdefault()方法教程
前言
在python基礎(chǔ)知識(shí)中有說(shuō)過(guò),字典是可變的數(shù)據(jù)類(lèi)型,其參數(shù)又是鍵對(duì)值。setdefault()方法和字典的get()方法在一些地方比較相像,都可以得到給定鍵對(duì)應(yīng)的值。但setdefault()方法可以在字典中并不包含有給定鍵的情況下,為給定鍵設(shè)定相應(yīng)的值。
Python 字典的 setdefault 方法原型如下:
dict.setdefault(key, default=None)
如果給定的 key 在字典中則返回該值,如果不在字典中,就將 key 插入到字典中,并將值設(shè)置為指定的 default 參數(shù),default 的缺省值為 None。
使用 setdefault 方法相當(dāng)于如下的操作:
if key in dict: reurn dict[key] else: dict[key] = default return default
該方法與字典的 get 方法有些相似,但有些區(qū)別。dict.get
和 dict.setdefault
方法在 key 存在于字典中時(shí)都能返回該值,在 key 不在字典中時(shí),也都能返回缺省的值。兩個(gè)方法的區(qū)別在于,當(dāng) key 不在字典中時(shí) setdefault 方法會(huì)在字典插入缺省的鍵值并返回,而 get 方法只返回缺省值,不向字典中插入新的 key。
示例:
>>> dct = {} >>> dct {} >>> dct["name"] = "huoty" >>> dct {'name': 'huoty'} >>> dct.setdefault("name", "esenich") 'huoty' >>> dct {'name': 'huoty'} >>> dct.setdefault("fname", "esenich") 'esenich' >>> dct {'name': 'huoty', 'fname': 'esenich'} >>> dct.setdefault("addr") >>> dct {'name': 'huoty', 'fname': 'esenich', 'addr': None} >>> dct.get("name", "xxx") 'huoty' >>> dct {'name': 'huoty', 'fname': 'esenich', 'addr': None} >>> dct.get("age") >>> dct {'name': 'huoty', 'fname': 'esenich', 'addr': None} >>> dct.get("age", 2) 2 >>> dct {'name': 'huoty', 'fname': 'esenich', 'addr': None}
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
- Java map.getOrDefault()方法的用法詳解
- python字典setdefault方法和get方法使用實(shí)例
- python 字典 setdefault()和get()方法比較詳解
- Java 8中default方法能做什么?不能做什么?
- Python使用defaultdict讀取文件各列的方法
- python錯(cuò)誤:AttributeError: ''module'' object has no attribute ''setdefaultencoding''問(wèn)題的解決方法
- Java8新特性之默認(rèn)方法(default)淺析
- default怎么修飾接口中的方法詳解
相關(guān)文章
通過(guò)python獲取甲流分布數(shù)據(jù)
近期,多地學(xué)校出現(xiàn)因甲流導(dǎo)致的班級(jí)停課,兒科甲流患者就診量呈數(shù)倍增長(zhǎng),今天我們同樣的操作來(lái)獲取下現(xiàn)在甲流感染的數(shù)據(jù),需要的朋友可以參考下2023-03-03Python Sphinx使用實(shí)例及問(wèn)題解決
這篇文章主要介紹了Python Sphinx使用實(shí)例及問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01python對(duì)批量WAV音頻進(jìn)行等長(zhǎng)分割的方法實(shí)現(xiàn)
這篇文章主要介紹了python對(duì)批量WAV音頻進(jìn)行等長(zhǎng)分割的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09在Python中處理字符串之ljust()方法的使用簡(jiǎn)介
這篇文章主要介紹了在Python中處理字符串之ljust()方法的使用,是Python學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05python實(shí)現(xiàn)通過(guò)代理服務(wù)器訪問(wèn)遠(yuǎn)程url的方法
這篇文章主要介紹了python實(shí)現(xiàn)通過(guò)代理服務(wù)器訪問(wèn)遠(yuǎn)程url的方法,涉及Python使用urllib模塊操作URL的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04使用Python遍歷文件夾實(shí)現(xiàn)查找指定文件夾
這篇文章主要為大家介紹了如何使用Python遍歷文件夾從而實(shí)現(xiàn)查找指定文件夾下所有相同名稱(chēng)的文件、所有相同后綴名的文件,感興趣的可以了解一下2022-07-07Django實(shí)現(xiàn)文件分享系統(tǒng)的完整代碼
這篇文章主要介紹了Django實(shí)現(xiàn)文件分享系統(tǒng),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05解讀python中的類(lèi)型提示(type hint)
這篇文章主要介紹了解讀python中的類(lèi)型提示(type hint),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01Python flask項(xiàng)目入門(mén)教程
flask 是一門(mén)使用 python 編寫(xiě)的后端框架,這篇文章主要介紹了Python flask項(xiàng)目入門(mén)教程,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-08-08