dictionary
我們都曾經使用過語言詞典來查找不認識的單詞的定義。語言詞典針對給定的單詞(比如 python)提供一組標準的信息。這種系統將定義和其他信息與實際的單詞關聯(映射)起來。使用單詞作為鍵定位器來尋找感興趣的信息。這種概念延伸到 Python 編程語言中,就成了特殊的容器類型,稱為 dictionary。
dictionary 數據類型在許多語言中都存在。它有時候稱為關聯 數組(因為數據與一個鍵值相關聯),或者作為散列表。但是在 Python 中,dictionary 是一個很好的對象,因此即使是編程新手也很容易在自己的程序中使用它。按照正式的說法,Python 中的 dictionary 是一種異構的、易變的映射容器數據類型。
創建 dictionary
本系列中前面的文章介紹了 Python 編程語言中的一些容器數據類型,包括 tuple、string 和 list(參見 參考資料)。這些容器的相似之處是它們都是基于序列的。這意味著要根據元素在序列中的位置訪問這些集合中的元素。所以,給定一個名為 a 的序列,就可以使用數字索引(比如 a[0] )或片段(比如 a[1:5])來訪問元素。Python 中的 dictionary 容器類型與這三種容器類型的不同之處在于,它是一個無序的集合。不是按照索引號,而是使用鍵值來訪問集合中的元素。這意味著構造 dictionary 容器比 tuple、string 或 list 要復雜一些,因為必須同時提供鍵和相應的值,如清單 1 所示。
清單 1. 在 Python 中創建 dictionary,第 1 部分
>>> d = {0: 'zero', 1: 'one', 2 : 'two', 3 : 'three', 4 : 'four', 5: 'five'}>>> d{0: 'zero', 1: 'one', 2: 'two', 3: 'three', 4: 'four', 5: 'five'}>>> len(d)>>> type(d) # Base object is the dict class<type 'dict'>>>> d = {} # Create an empty dictionary>>> len(d)>>> d = {1 : 'one'} # Create a single item dictionary>>> d{1: 'one'}>>> len(d)>>> d = {'one' : 1} # The key value can be non-numeric>>> d{'one': 1}>>> d = {'one': [0, 1,2 , 3, 4, 5, 6, 7, 8, 9]}>>> d{'one': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]}
如這個例子所示,在 Python 中創建 dictionary 要使用花括號和以冒號分隔的鍵-值組合。如果沒有提供鍵-值組合,那么就會創建一個空的 dictionary。使用一個鍵-值組合,就會創建具有一個元素的 dictionary,以此類推,直至您需要的任何規模。與任何容器類型一樣,可以使用內置的 len 方法查明集合中元素的數量。
前面的示例還演示了關于 dictionary 容器的另一個重要問題。鍵并不限制為整數;它可以是任何不易變的數據類型,包括 integer、float、tuple 或 string。因為 list 是易變的,所以它不能作為 dictionary 中的鍵。但是 dictionary 中的值可以是任何數據類型的。
新聞熱點
疑難解答