前言
在python基礎(chǔ)知識中有說過,字典是可變的數(shù)據(jù)類型,其參數(shù)又是鍵對值。setdefault()方法和字典的get()方法在一些地方比較相像,都可以得到給定鍵對應(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 方法會在字典插入缺省的鍵值并返回,而 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)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
新聞熱點(diǎn)
疑難解答
圖片精選