在Python中,字典(dictionary)是一種可變的數據結構,它存儲鍵值對(key-value pairs)。對于字典的鍵,Python確實允許使用多種數據類型,包括數字、字符串、列表和元組。但是,要注意的一點是,列表是不能作為字典的鍵的,因為列表是可變的(mutable),而字典的鍵必須是不可變的(immutable)。元組在作為鍵時,只要其包含的元素都是不可變的,那么它就可以作為字典的鍵。
下面是使用數字、字符串和元組作為字典鍵的示例:
# 使用數字作為鍵 num_dict = { 1: 'one', 2: 'two', 3: 'three' } # 使用字符串作為鍵 str_dict = { 'name': 'Alice', 'age': 30, 'city': 'New York' } # 使用元組作為鍵(只要元組中的元素都是不可變的) tuple_dict = { (1, 'a'): 'value1', (2, 'b'): 'value2', (3, 'c'): 'value3' } print(num_dict) print(str_dict) print(tuple_dict)
運行以上代碼,您將得到三個字典,它們的鍵分別是數字、字符串和元組。
然而,嘗試使用列表作為字典的鍵將會導致一個TypeError,因為列表是可變的:
# 嘗試使用列表作為鍵(這將失敗) list_dict = { [1, 2, 3]: 'value' # 這會拋出TypeError }
如果您嘗試運行上述代碼,將會得到一個錯誤,類似于:
TypeError: unhashable type: 'list'
這是因為字典的鍵必須是可哈希的(hashable),而列表不是可哈希的。可哈希意味著對象具有不變的哈希值,這樣字典才能根據鍵快速查找值。數字、字符串和元組(如果它們包含的元素都是不可變的)都是可哈希的,而列表則不是。
本文鏈接:http://www.tebozhan.com/showinfo-26-84903-0.html一文讀懂Python數字、字符串、列表和元組是否可以作為字典的鍵
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com