1. 程式人生 > >字典和恆等運算子

字典和恆等運算子

 

字典

字典是可變資料型別,其中儲存的是唯一鍵到值的對映。下面是儲存元素和相應原子序數的字典。

elements = {"hydrogen": 1, "helium": 2, "carbon": 6}

字典的鍵可以是任何不可變型別,例如整數或元組,而不僅僅是字串。甚至每個鍵都不一定要是相同的型別!我們可以使用方

返回預設值的 get

字典有一個也很有用的相關方法,叫做 get。get 會在字典中查詢值,但是和方括號不同,如果沒有找到鍵,get 會返回 None(或者你所選的預設值)。如果你預計查詢有時候會失敗,get 可能比普通的方括號查詢更合適。

>>> elements.get('dilithium')
None
>>> elements['dilithium']
KeyError: 'dilithium'
>>> elements.get('kryptonite', 'There\'s no such element!')
"There's no such element!"

括號並在括號裡放入鍵,查詢字典中的值或向字典中插入新值。

print(elements["helium"])  # print the value mapped to "helium"
elements["lithium"] = 3  # insert "lithium" with a value of 3 into the dictionary

 

我們可以像檢查某個值是否在列表或集合中一樣,使用關鍵字 in 檢查值是否在字典中。字典有一個也很有用的相關方法,叫做 get。get 會在字典中查詢值,但是和方括號不同,如果沒有找到鍵,get 會返回 None(或者你所選的預設值)。

print("carbon" in elements)
print(elements.get("dilithium"))

輸出結果為:

True
None

Carbon 位於該字典中,因此輸出 True。Dilithium 不在字典中,因此 get 返回 None,然後系統輸出 None。如果你預計查詢有時候會失敗,get

 可能比普通的方括號查詢更合適,因為錯誤可能會使程式崩潰。

 

恆等運算子

關鍵字 運算子
is 檢查兩邊是否恆等
is not 檢查兩邊是否不恆等

你可以使用運算子 is 檢查某個鍵是否返回了 None。或者使用 is not 檢查是否沒有返回 None。

n = elements.get("dilithium")
print(n is None)
print(n is not None)

會輸出:

True
False

列表 a 和列表 b 是對等和相同的。列表 c 等同於 a(因此等同於 b),因為它們具有相同的內容。但是 a 和 c(同樣 b 也是)指向兩個不同的物件,即它們不是相同的物件。這就是檢查是否相等與恆等的區別。