Python中字典與恒等運(yùn)算符的用法分析
本文實(shí)例講述了Python中字典與恒等運(yùn)算符的用法。分享給大家供大家參考,具體如下:
字典
字典是可變數(shù)據(jù)類型,其中存儲(chǔ)的是唯一鍵到值的映射。
elements = {"hydrogen": 1, "helium": 2, "carbon": 6}
字典的鍵可以是任何不可變類型,例如整數(shù)或元組,而不僅僅是字符串。甚至每個(gè)鍵都不一定要是相同的類型!
print(elements["helium"]) # 2
我們可以使用方括號(hào)并在括號(hào)里放入鍵,查詢字典中的值或向字典中插入新值
elements["lithium"] = 3
使用關(guān)鍵字 in 檢查值是否在字典中。字典有一個(gè)也很有用的相關(guān)方法,叫做 get。get 會(huì)在字典中查詢值,但是和方括號(hào)不同,如果沒有找到鍵,get 會(huì)返回 None(或者你所選的默認(rèn)值)
print("carbon" in elements) # True
print(elements.get("dilithium")) # None
如果你預(yù)計(jì)查詢有時(shí)候會(huì)失敗,get 可能比普通的方括號(hào)查詢更合適,因?yàn)殄e(cuò)誤可能會(huì)使程序崩潰。
恒等運(yùn)算符
概念解釋
| 關(guān)鍵字 | 運(yùn)算符
|---|----
| is | 檢查兩邊是否恒等
| is not | 檢查兩邊是否不恒等
可以使用運(yùn)算符 is 檢查某個(gè)鍵是否返回了 None, 或者使用 is not 檢查是否沒有返回 None
n = elements.get("dilithium")
print(n is None) # True
print(n is not None) # False
字典和恒等運(yùn)算符[相關(guān)練習(xí)]
定義一個(gè)叫做 population 的字典
# Key | Value
# Shanghai | 17.8
# Istanbul | 13.3
# Karachi | 13.0
# Mumbai | 12.5
population = {
"Shanghai":17.8,
"Istanbul":13.3,
"Karachi":13.0,
"Mumbai":12.5
}
print(population["Mumbaix"]) # 12.5
以下哪些項(xiàng)可以用作字典的鍵?(請(qǐng)選中所有適用項(xiàng)。) Hint: 字典的鍵必須是不可變的,即所屬的類型必須不可變。
1. 可用 : str, int, float, tuples, bool
2. 不可用 :list, set, dictionaries
如果我們查找不在字典中的值,會(huì)發(fā)生什么?
發(fā)生 KeyError
字典有一個(gè)也很有用的相關(guān)方法,叫做 get。get 會(huì)在字典中查詢值,但是和方括號(hào)不同,如果沒有找到鍵,get 會(huì)返回 None(或者你所選的默認(rèn)值)
正確的使用方式:
elements.get('dilithium') # None
錯(cuò)誤的使用方式:
elements['dilithium'] # KeyError: 'dilithium'
使用get并添加默認(rèn)值, 當(dāng)鍵沒找到時(shí),get會(huì)返回該值。
elements.get('kryptonite', 'There\'s no such element!') # "There's no such element!"
檢查是否相等與恒等:== 與 is
以下代碼的輸出是什么?
a = [1, 2, 3] b = a c = [1, 2, 3] print(a == b) # True print(a is b) # True print(a == c) # True print(a is c) # False
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python字典操作技巧匯總》、《Python列表(list)操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python3安裝模塊報(bào)錯(cuò)Microsoft Visual C++ 14.0 is required的解決方法
這篇文章主要介紹了Python3安裝模塊報(bào)錯(cuò)Microsoft Visual C++ 14.0 is required的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Python內(nèi)建函數(shù)之raw_input()與input()代碼解析
這篇文章主要介紹了Python內(nèi)建函數(shù)之raw_input()與input()代碼解析,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10
詳解django+django-celery+celery的整合實(shí)戰(zhàn)
這篇文章主要介紹了詳解django+django-celery+celery的整合實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
django自帶的server 讓外網(wǎng)主機(jī)訪問方法
今天小編就為大家分享一篇django自帶的server 讓外網(wǎng)主機(jī)訪問方法。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
python groupby 函數(shù) as_index詳解
今天小編就為大家分享一篇python groupby 函數(shù) as_index詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
Elasticsearches的集群搭建及數(shù)據(jù)分片過(guò)程詳解
這篇文章主要為大家介紹了Elasticsearches的集群搭建及數(shù)據(jù)分片過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
Python中出現(xiàn)"No?module?named?'requests'"
這篇文章主要給大家介紹了關(guān)于Python中出現(xiàn)"No?module?named?'requests'"的解決辦法,"No?module?named?requests"是Python報(bào)錯(cuò)提示,意味著你在使用某個(gè)Python程序或腳本時(shí),沒有找到名為requests的模塊,需要的朋友可以參考下2023-11-11
Python利用xlwings實(shí)現(xiàn)考勤表制作
這篇文章主要為大家詳細(xì)介紹了Python如何利用xlwings庫(kù)操作excel實(shí)現(xiàn)考勤表的制作,文中的實(shí)現(xiàn)步驟講解詳細(xì),感興趣的可以嘗試一下2023-04-04

