Python中字典的setdefault()方法教程
前言
在python基礎(chǔ)知識中有說過,字典是可變的數(shù)據(jù)類型,其參數(shù)又是鍵對值。setdefault()方法和字典的get()方法在一些地方比較相像,都可以得到給定鍵對應的值。但setdefault()方法可以在字典中并不包含有給定鍵的情況下,為給定鍵設定相應的值。
Python 字典的 setdefault 方法原型如下:
dict.setdefault(key, default=None)
如果給定的 key 在字典中則返回該值,如果不在字典中,就將 key 插入到字典中,并將值設置為指定的 default 參數(shù),default 的缺省值為 None。
使用 setdefault 方法相當于如下的操作:
if key in dict: reurn dict[key] else: dict[key] = default return default
該方法與字典的 get 方法有些相似,但有些區(qū)別。dict.get
和 dict.setdefault
方法在 key 存在于字典中時都能返回該值,在 key 不在字典中時,也都能返回缺省的值。兩個方法的區(qū)別在于,當 key 不在字典中時 setdefault 方法會在字典插入缺省的鍵值并返回,而 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é)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
python對批量WAV音頻進行等長分割的方法實現(xiàn)
這篇文章主要介紹了python對批量WAV音頻進行等長分割的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09python實現(xiàn)通過代理服務器訪問遠程url的方法
這篇文章主要介紹了python實現(xiàn)通過代理服務器訪問遠程url的方法,涉及Python使用urllib模塊操作URL的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04Django實現(xiàn)文件分享系統(tǒng)的完整代碼
這篇文章主要介紹了Django實現(xiàn)文件分享系統(tǒng),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05