在學習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中文網!