首頁  >  文章  >  後端開發  >  Python中字典的setdefault()方法教程

Python中字典的setdefault()方法教程

高洛峰
高洛峰原創
2017-02-10 10:12:311471瀏覽

在學習python字典操作方法時,感覺setdefault()方法,比字典的其它基本操作方法更難理解的同學比較多,所以想著總結以下,下面這篇文章主要給大家介紹了Python中字典的setdefault ()方法,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

在python基礎知識中有說過,字典是可變的資料類型,其參數又是鍵對值。 setdefault()方法和字典的get()方法在某些地方比較相像,都可以得到給定鍵對應的值。但setdefault()方法可以在字典中不包含有給定鍵的情況下,為給定鍵設定對應的值。

Python 字典的setdefault 方法原型如下:

dict.setdefault(key, default=None)

如果給定的key 在字典中則傳回該值,如果不在字典中,就將key 插入字典中,並將值設為字典指定的default 參數,default 的預設值為None。

使用 setdefault 方法相當於如下的操作:

if key in dict:
 reurn dict[key]
else:
 dict[key] = default
 return default

該方法與字典的 get 方法有些相似,但有些區別。 dict.get dict.setdefault 方法在 key 存在於字典中時都能返回該值,在 key 不在字典中時,也都能返回缺省的值。兩個方法的區別在於,當 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}

更多Python中字典的setdefault()方法教學相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn