Python中字典的setdefault()方法教程
前言
在python基礎(chǔ)知識(shí)中有說(shuō)過(guò),字典是可變的數(shù)據(jù)類型,其參數(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)文章
Python利用psutil實(shí)現(xiàn)獲取硬件,網(wǎng)絡(luò)和進(jìn)程信息
Python?有一個(gè)第三方模塊叫?psutil,專門用來(lái)獲取操作系統(tǒng)以及硬件相關(guān)的信息,比如:CPU、磁盤、網(wǎng)絡(luò)、內(nèi)存等等。下面來(lái)看一下它的用法2022-07-07
python中用Scrapy實(shí)現(xiàn)定時(shí)爬蟲(chóng)的實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于python中用Scrapy實(shí)現(xiàn)定時(shí)爬蟲(chóng)的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-01-01
跟老齊學(xué)Python之從if開(kāi)始語(yǔ)句的征程
前面做了很多鋪墊了,真正的編程我們還沒(méi)有講過(guò),各位童鞋也許早就不耐煩了,好吧,今天我們就從if語(yǔ)句來(lái)踏上我們的征程2014-09-09
在阿里云服務(wù)器上配置CentOS+Nginx+Python+Flask環(huán)境
這篇文章主要介紹了在阿里云服務(wù)器上配置CentOS+Nginx+Python+Flask環(huán)境的教程,值得一提的是這里的方案用Nginx作反向代理而使用Gunicorn作wsgi服務(wù)器,需要的朋友可以參考下2016-06-06
Python中json模塊load/loads方法實(shí)戰(zhàn)以及參數(shù)詳解
經(jīng)常在Python中對(duì)JSON格式的文件進(jìn)行操作,今天對(duì)這些操作做一個(gè)總結(jié),下面這篇文章主要給大家介紹了關(guān)于Python中json模塊load/loads方法實(shí)戰(zhàn)以及參數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08

