© BEST-BACKGROUNDS/Shutterstock.com
字典是 Python 中最重要的數據結構之一,了解如何使用它們可以為您的編程項目打開無限可能。它們在處理大量數據或複雜數據結構(如嵌套列表或對象)時特別有用。無論您是初學者還是經驗豐富的程序員,本文都將為您提供 Python 字典的綜合指南,包括有關如何定義和操作字典的詳細解釋和示例。讓我們直接進入!
Python 中的字典到底是什麼
字典是鍵值對的無序集合,其中每個鍵都是唯一的。鍵用於標識關聯值,它可以是任何類型的對象,包括字符串、整數、浮點數、布爾值、列表,甚至其他字典。字典類似於其他編程語言中有時稱為“哈希映射”或“關聯數組”的數據結構。
與 Python 中的其他數據結構(例如元組)不同,它們具有與之關聯的順序,字典沒有任何固有順序.相反,字典根據其鍵值對存儲每個項目。這就是使它們具有難以置信的通用性和強大性的原因,讓我們可以快速訪問數據結構中的特定元素,而不必遍歷每個項目。
此外,與元組不同,字典是可變的,這意味著您可以添加,在創建它們之後修改和刪除它們的項目。這使得字典對於廣泛的編程任務來說非常強大和靈活的數據結構。
在下一節中,我們將了解如何操作字典及其元素。
如何在 Python 中定義/創建字典
字典是在存儲和檢索數據方面非常高效。要在 Python 中創建新字典,您可以使用花括號 {} 並用冒號分隔每個鍵值對。字典中的鍵值對/元素用逗號分隔,如下所示:
my_dict={“key1”: “value1”, “key2”: “value2”, “key3”: “value3”
這是一個用於存儲水果列表的 Python 字典示例:
my_dict={“apple”: 3, “banana”: 2, “cherry”: 5}
在這裡,我們定義了一個名為my_dict 的字典,它包含三個鍵值對。鍵是“apple”、“banana”和“cherry”,與這些鍵關聯的值分別是 3、2 和 5。重要的是要注意鍵必須是唯一的;如果您嘗試添加另一個具有相同鍵的項目,它將覆蓋現有的項目,而不是創建一個具有不同值的新條目。
您也可以通過簡單地使用兩組大括號創建一個空字典{} 內部沒有任何項目,如下所示:
my_empty_dict={}
在 Python 中操作字典
向 Python 字典添加元素
創建字典後,就可以開始添加元素了。為此,只需指定其鍵,然後在這些括號內指定其關聯值。
讓我們在前面的示例中添加更多項目:
my_dict[“pear”]=4 # 添加一個整數
my_dict[“orange”]=“none” # 添加一個字符串
我們的字典現在有 5 個元素:
my_dict={“apple”: 3, “banana”: 2, “cherry”: 5, “ pear”: 4, “orange”: “none”
添加不同數據類型時請遵循正確的語法規則(例如,整數必須不帶引號,如上所示)。現在讓我們看看如何從新填充的字典中讀取元素。
從 Python 字典中讀取元素
從 Python 字典中讀取元素與編寫元素一樣簡單;您需要做的就是在字典名稱後面的方括號 [] 中指定所需的鍵:
print(my_dict[“banana”]) # Outputs 2
如果您嘗試訪問一個不存在的元素,Python 會拋出一條錯誤消息告訴你哪裡出了問題。這是一個示例:
print(my_dict[ “grape”]) # Outputs KeyError: grape
這使得調試變得容易得多,因為我們確切地知道需要修復什麼。
如何在 Python 中更新字典
更新 Python 字典中的元素涉及兩個步驟;首先指定哪個元素需要更新,其次提供需要分配的新值。
語法如下:
my_dict[key]=new_value
例如,如果我們想更新與鍵“cherry”關聯的值,我們可以使用以下代碼:
my_dict[“cherry”]=8
請務必注意,如果您嘗試更新字典中不存在的元素,它會自動為您創建。例如,如果我們在示例字典中使用以下代碼:
my_dict[“guava”]=2
它將在 my_dict 使用鍵“guava”和整數值 2。
從字典中刪除元素
從 Python 字典中刪除元素涉及使用 del 關鍵字.從字典中刪除元素的語法如下:
del my_dict[key]
例如,刪除中與鍵“apple”關聯的元素my_dict,我們可以使用:
del my_dict[“apple”]
您還可以使用 pop() 方法。 pop() 方法允許您通過關聯鍵刪除特定元素,然後 返回刪除的元素。
使用我們之前的例子:
my_dict.pop(“pear”) #刪除鍵為“pear”的元素並且返回值 4
現在讓我們看一下嵌套字典。
Python 中的嵌套字典
嵌套字典用於存儲更複雜的數據結構,例如對像或其他字典的集合。將一個字典嵌套在另一個字典中的語法如下:
my_dict={
“key1”: {“nested_key1”: “value1”, “nested_key2”: “value2”} ,
“key2”: {“nested_key3”: “value3”, “nested_key4”: “value4”}
}
它們對於組織非常有用和操作數據,例如當您需要存儲關於單個對象的多條相關信息時。
讓我們將之前的水果字典示例並將其嵌套到名為groceries 的更大字典中:
groceries={“fruits”: my_dict}/p>
這裡我們創建了一個名為groceries 的新字典,並添加了my_dict 字典作為鍵為“fruits”的元素。
我們還可以像以前一樣使用 CRUD 操作(創建讀取更新刪除)來操作嵌套字典。讓我們看看這在實踐中是如何工作的。
在字典中創建嵌套元素
要向嵌套字典添加額外的元素,您可以使用與之前相同的語法;只需指定所需的鍵,然後在大括號 {} 內指定其關聯值。例如,如果我們想將值為 6 的“葡萄”元素添加到我們的雜貨清單中,我們可以使用以下代碼:
groceries[“fruits”][“grapes”]=6 # 添加值為 6 的葡萄
從字典中讀取嵌套元素
要訪問嵌套字典中的元素,我們使用兩組方括號 [] 以及各自的標識鍵。例如,如果我們想要訪問與嵌套字典 (my_dict) 中的鍵“cherry”關聯的值,我們將使用此代碼:
print(groceries[“ fruits”][“cherry”]) # 輸出 5
更新字典中的嵌套元素
要更新嵌套字典中的元素,您可以使用與以前相同的語法。只需指定所需的鍵,然後在方括號 [] 中指定新的關聯值。例如,如果我們想更新與鍵“apple”關聯的值,我們可以使用以下代碼:
groceries[“fruits”][“apple”]=4 # Updates apple’s value到 4
從字典中刪除嵌套元素
從嵌套字典中刪除元素同樣容易。您需要做的就是使用 del 關鍵字,然後在兩組方括號中使用兩個鍵。例如,如果我們想刪除鍵為“banana”的元素,我們可以使用以下代碼:
del groceries[“fruits”][“banana”] # Removes banana from my_dict
你也可以使用帶有嵌套字典的 pop 方法:
groceries[“fruits”].pop(“banana”) # 從 my_dict 中移除 banana
它是重要的是要記住,在嵌套字典中操作元素時,必須指定引用該元素所需的所有鍵(就像在多維數組中一樣)。如果任何鍵不正確或丟失,該元素將不會按照您預期的方式進行操作。
其他字典方法
Python 字典還有一些內置方法可以幫助您操作和檢索數據。一些最有用的是 .keys()、.values() 和 .items()。
.keys() 方法返回字典中所有鍵的列表,而.values() 方法返回所有鍵的列表字典中的值。
例如,如果我們想打印出雜貨字典中的所有鍵,我們可以使用以下代碼:
print(groceries.keys()) # Outputs [ fruits]
.items() 方法將字典中每個元素的所有鍵值對作為列表中的元組返回。
總結
字典是 Python 中最重要的數據結構之一,掌握我們所了解的基本方法將大大有助於您在 Python 中釋放它們的實際威力.它們用途廣泛,可用於各種任務,從簡單的數據存儲到復雜的數據操作和分析。由於能夠快速搜索特定值或鍵,而無需遍歷集合中的每個元素,字典是將您的 Python 遊戲提升到一個新水平的可靠方法!
Python 中的字典,以及如何使用它(附示例)FAQ(常見問題)
什麼是 Python 字典?
Python 字典是關鍵的集合-值對。它類似於數組,但不是將值存儲在索引列表中,而是以鍵值格式存儲它們,其中鍵是字符串或整數,值可以是任何類型。字典也稱為關聯數組或哈希映射。
如何在 Python 中從其他數據類型創建字典?
您可以使用 dict () 構造函數從其他數據類型(例如列表或元組)創建字典。例如,如果你有一個像這樣的元組列表:my_list=[(‘key1′,’value1’), (‘key2′,’value2’)],你可以使用 dict() 構造函數創建一個字典它像這樣:
my_dict=dict(my_list)。
我如何循環遍歷字典?
循環遍歷字典需要兩個步驟:首先,您需要使用 for 循環或 while 循環遍歷其鍵;然後您需要使用循環體內的關聯鍵訪問每個元素的值。例如:
my_dict={‘key1′:’value1′,’key2′:’value2’}
for key in my_dict:
print( my_dict[key]).
在 Python 中從字典中刪除元素時,pop() 和 del 哪個更好?
雖然那個主要取決於您要完成的任務,如果您想保留已刪除的項目以供進一步使用,那麼 pop() 將是更好的選擇。但是,如果你想刪除一個項目而不檢索它,那麼 del 會更合適。.pop() 也較慢,因為它需要函數調用而不是原始操作。
一些基本的 Python 字典注意事項是什麼?
Do:當你需要以高效的方式存儲鍵值對時使用字典。確保您的密鑰是唯一且不可變的。
不要:如果您需要以特定順序存儲數據,請使用字典;請改用列表。