收藏本站 收藏本站
積木網首頁 - 軟件測試 - 常用手冊 - 站長工具 - 技術社區
首頁 > python > 正文

首頁 - PHP - 數據庫 - 操作系統 - 游戲開發 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell編程 - DOS命令 - jQuery - CSS樣式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

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}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

python3.5實現socket通訊示例(TCP)
TCP連接:tcp是面向連接的一個協議,意味著,客戶端和服務器開發發送數據之前,需要先握手創建一個TCP連接。TCP連接的一端與客戶端套接字相互聯系

關于Python中Inf與Nan的判斷問題詳解
大家都知道在Python中可以用如下方式表示正負無窮:float("inf")#正無窮float("-inf")#負無窮利用inf(infinite)乘以0會得到not-a-number(NaN)。如果一個數超出infinite

python使用matplotlib繪制折線圖教程
matplotlib簡介matplotlib是python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合交互式地行制圖。而且也可以方便地將它作為繪圖控件,嵌

本周排行

更新排行

強悍的草根IT技術社區,這里應該有您想要的! 友情鏈接:b2b電子商務
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP備05050695號
手游棋牌游戏运营
一波中特 浙江12选5走势图表基本 什么叫巴登五分彩 360老时时走势图表 白小姐app下载 北京时时开奖网 推扑克32张都有什么牌 郑州小姐 足球直播吧 吉林时时预测 四川快乐12助手 陕西快乐十分500期 福建时时11选5走势图 球探app官方下载苹果 广州快餐女哪些地点有 环亚国际娱乐登录