1. 程式人生 > 程式設計 >python字典key不能是可以是啥型別

python字典key不能是可以是啥型別

python中字典的key不能是可變型別。字典可儲存任意型別物件,其中值可以取任何資料型別,但鍵必須是不可變的,如字串、數字或元組。語法格式:【d = {key1 : value1,key2 : value2}】。

字典是另一種可變容器模型,且可儲存任意型別物件。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中,格式如下所示:

d = {key1 : value1,key2 : value2 }

鍵必須是唯一的,但值則不必。

值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。

程式碼實現:

dict = {'Alice': '2341','Beth': '9102','Cecil': '3258'}

內容擴充套件:

Python中字典的key都可以是什麼?

答:一個物件能不能作為字典的key,就取決於其有沒有__hash__方法。所以所有python自帶型別中,除了list、dict、set和內部至少帶有上述三種類型之一的tuple之外,其餘的物件都能當key。

比如數值/字串/完全不可變的元祖/函式(內建或自定義)/類(內建或自定義)/方法/包等等你能拿出手的,不過有的實際意義不高。還有數值型要注意,因為兩個不同的相等數字可以有相同的雜湊值,比如1和1.0。

解釋:

程式碼版本:3.6.3;文件版本:3.6.6

Unlike sequences,which are indexed by a range of numbers,dictionaries are indexed by keys,which can be any immutable type; strings and numbers can always be keys. Tuples can be used as keys if they contain only strings,numbers,or tuples; if a tuple contains any mutable object either directly or indirectly,it cannot be used as a key. You can't use lists as keys,since lists can be modified in place using index assignments,slice assignments,or methods like append()and extend().

字典的鍵可以是任意不可變型別,需要注意的是tuple元組作為鍵時,其中不能以任何方式包含可變物件。

到此這篇關於python字典key不能是可以是啥型別的文章就介紹到這了,更多相關python字典key不能是什麼型別內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!