Python - 訪問字典中列表的元素


Python 是一種用途廣泛且使用廣泛的程式語言,以其簡單易讀而聞名。它提供了豐富的強大資料結構,可以有效地處理和操作複雜資料。此功能使您能夠以結構化的方式組織資料。在這篇博文中,我們將深入探討使用 Python 訪問字典中列表中專案的流程。我們將探索各種檢索和修改資料的方法,為您提供對這一基本概念的全面瞭解。

建立包含列表的字典

在深入探討訪問專案之前,讓我們首先建立一個字典,其中包含列表作為其值。以下程式碼片段演示瞭如何建立包含列表的字典

my_dict = {
   'fruits': ['apple', 'banana', 'orange'],
   'colors': ['red', 'green', 'blue'],
   'numbers': [1, 2, 3]
}

在此示例中,我們有一個名為 my_dict 的字典,它儲存了三個鍵值對。每個值都是一個包含不同元素的列表。“fruits”鍵與列表 ['apple', 'banana', 'orange'] 關聯,“colors”鍵與 ['red', 'green', 'blue'] 關聯,“numbers”鍵與 [1, 2, 3] 關聯。

訪問字典中的列表項

要訪問儲存在字典中作為值的列表中的專案,您需要遵循一個兩步過程。首先,您訪問與字典中特定鍵關聯的列表,然後訪問該列表中的專案。

讓我們探索一些場景來說明如何訪問字典中列表中的專案。

訪問整個列表

如果您想檢索與特定鍵關聯的整個列表,您可以使用該鍵直接訪問該值。例如 −

fruits_list = my_dict['fruits']
print(fruits_list)

在這種情況下,fruits_list 將包含 ['apple', 'banana', 'orange'],這是與字典中“fruits”鍵關聯的列表。然後,您可以根據需要對列表執行任何操作或對其進行迭代。

訪問列表中的特定專案

要訪問儲存在字典中的列表中的特定專案,您可以組合您要檢索的專案的鍵和索引。考慮以下示例

second_fruit = my_dict['fruits'][1]
print(second_fruit)

在此示例中,我們訪問與字典 my_dict 中的鍵“fruits”關聯的值,然後使用索引 [1] 檢索列表中的第二個專案。輸出將為“banana”。您可以應用此技術來訪問字典中列表中的任何專案。

修改列表項

Python 允許您使用相同的訪問機制修改儲存在字典中的列表中的專案。這是一個示例

my_dict['colors'][0] = 'yellow'
print(my_dict['colors'])

在此程式碼片段中,我們修改了與字典 my_dict 中的鍵“colors”關聯的列表的第一個專案,並將其從“red”更改為“yellow”。輸出將為 ['yellow', 'green', 'blue']。此方法允許您根據需要更新或修改字典中列表中的資料。

建立包含列表的字典

在深入探討訪問專案之前,讓我們首先建立一個字典,其中包含列表作為其值。以下程式碼片段演示瞭如何建立包含列表的字典

my_dict = {
   'fruits': ['apple', 'banana', 'orange'],
   'colors': ['red', 'green', 'blue'],
   'numbers': [1, 2, 3]
}

在此示例中,我們有一個名為 my_dict 的字典,它儲存了三個鍵值對。每個值都是一個包含不同元素的列表。“fruits”鍵與列表 ['apple', 'banana', 'orange'] 關聯,“colors”鍵與 ['red', 'green', 'blue'] 關聯,“numbers”鍵與 [1, 2, 3] 關聯。

檢查字典中是否存在鍵

在訪問字典中列表中的專案之前,務必確保字典中存在該鍵。您可以使用 in 關鍵字檢查鍵是否存在。這是一個示例

if 'fruits' in my_dict:
   fruits_list = my_dict['fruits']
   print(fruits_list)
else:
   print("Key 'fruits' does not exist in the dictionary.")

此方法有助於防止在嘗試訪問字典中不存在的鍵時出現潛在錯誤。

處理索引錯誤

在訪問字典中列表中的專案時,務必處理索引錯誤。如果您嘗試使用超出列表範圍的索引訪問專案,Python 將引發 IndexError。您可以使用 try-except 塊來優雅地處理此類錯誤。這是一個示例

try:
   second_fruit = my_dict['fruits'][1]
   print(second_fruit)
except IndexError:
   print("Index out of bounds.")

這樣,您就可以捕獲和處理在訪問字典中列表中的專案時可能發生的任何索引錯誤。

巢狀訪問

在某些情況下,字典可以在字典中巢狀,您可能需要訪問巢狀字典中列表中的專案。前面討論的相同原則可以遞迴地應用於訪問不同巢狀級別的專案。這是一個示例

示例 

my_dict = {
   'person1': {
      'name': 'John',
      'age': 30,
      'hobbies': ['reading', 'gaming', 'traveling']
   },
   'person2': {
      'name': 'Jane',
      'age': 25,
      'hobbies': ['cooking', 'painting']
   }
}

person1_hobbies = my_dict['person1']['hobbies']
print(person1_hobbies)

輸出

['reading', 'gaming', 'traveling']

在此示例中,我們訪問與字典 my_dict 中的鍵“person1”關聯的巢狀字典中的“hobbies”鍵。

迭代字典中的列表

您還可以使用迴圈(例如 for 迴圈或列表推導式)迭代字典中列表中的專案。這使您能夠對每個專案執行操作或提取特定資訊。這是一個示例

for fruit in my_dict['fruits']:
   print(fruit)

此程式碼片段迭代與字典 my_dict 中的鍵“fruits”關聯的列表,並在單獨的行上列印每種水果。

結論

訪問字典中列表中的專案是在 Python 中處理複雜資料結構時的基本操作。通過了解訪問字典中列表的兩個步驟過程,然後訪問該列表中的專案,您可以獲得有效檢索和修改資料的能力。Python 的字典和列表提供了強大的組合,可以以結構化的方式組織和操作資料。

更新於: 2023年8月14日

2K+ 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告