如何在 Python 中迭代巢狀列表?
在本文中,我們將瞭解 Python 中巢狀列表的概念以及如何在 Python 語言中迭代巢狀列表。有時,任務是遍歷列表的每個元素,或者在列表中查詢元素,或者使用列表中給出的資訊。在所有這些情況下,都必須遍歷列表。列表可以由單一型別的元素組成,也可以在列表中使用多種型別的元素。將使用三個不同的示例來表示遍歷列表的不同方法。
巢狀列表示例 -
一個包含不同專案型別的巢狀列表。
nestedList1 =[["Meena", 30, ["Lucknow", "UP"]], ["Arun", 40, ["Rampur", "UP"]], ["Hina", 35, ["Rohini", "Delhi"]],["Aman", 45, ["Govindpuri", "Delhi"]]]
一個三維列表 -
nestedList2 = [
[
['a', 'b'],
['c', 'd']
],[
['e', 'f'],
['g', 'h']
]
]
示例 1:使用元素的索引值在 Python 中迭代巢狀列表
演算法
步驟 1 - 首先指定要使用的巢狀列表。巢狀列表是一個列表,其元素也是列表。
步驟 2 - 使用一個顯示不同型別元素的列表,例如:在本例中使用以下列表 -
nestedList1 =[["Meena", 30, ["Lucknow", "UP"]], ["Arun", 40, ["Rampur", "UP"]], ["Hina", 35, ["Rohini", "Delhi"]],["Aman", 45, ["Govindpuri", "Delhi"]]]
步驟 3 - 首先列印指定的巢狀列表。
步驟 4 - 要遍歷此列表,請使用索引值,例如 item[0] 或 item[2][0]
步驟 5 - 根據需要以不同的方式使用提取的資訊。
示例
nestedList1 =[["Meena", 30, ["Lucknow", "UP"]], ["Arun", 40, ["Rampur", "UP"]], ["Hina", 35, ["Rohini", "Delhi"]],["Aman", 45, ["Govindpuri", "Delhi"]]]
print("Printing the nested array: ")
print("\n", nestedList1, "\n")
print("Printing the information fetched from the nested array: \n")
for item in nestedList1:
print(item[0], "is", item[1],"years old", "and lives in", item[2][0], ",",item[2][1])
輸出
在命令視窗中執行 Python 檔案
開啟 cmd 視窗。首先,我們將列印給定的列表。然後列印各個專案。

示例 2:使用 Isinstance() 在 Python 中迭代巢狀列表以檢查專案是否為列表
演算法
步驟 1 - 首先指定要使用的巢狀列表。巢狀列表是一個列表,其元素也是列表。
步驟 2 - 使用一個顯示不同型別元素的列表,例如:在本例中使用以下列表 -
nestedList1 =[["Meena", 30, ["Lucknow", "UP"]], ["Arun", 40, ["Rampur", "UP"]], ["Hina", 35, ["Rohini", "Delhi"]],["Aman", 45, ["Govindpuri", "Delhi"]]]
步驟 3 - 首先列印指定的巢狀列表。
步驟 4 - 要遍歷此列表,請使用 for 迴圈檢查每個專案一次。
步驟 5 - 使用 isinstance() 函式查詢給定專案是否為列表。如果是列表,則遍歷該內部列表。
示例
nestedList1 =[["Meena", 30, ["Lucknow", "UP"]], ["Arun", 40, ["Rampur", "UP"]], ["Hina", 35, ["Rohini", "Delhi"]],["Aman", 45, ["Govindpuri", "Delhi"]]]
print("Printing the nested array: ")
print("", nestedList1, "\n")
for list1 in nestedList1:
print("\nPrinting the person's record fetched from the nested array: \n")
for l in list1:
isitalist=isinstance(l, list)
if (isitalist==True):
for x in range(0, len(l)):
print(l[x])
else:
print(l)
輸出
在命令視窗中執行 Python 檔案 -
開啟 cmd 視窗。首先,我們將列印給定的列表。然後列印各個專案。

示例 3:使用巢狀“for”迴圈在 Python 中迭代巢狀列表
演算法
步驟 1 - 首先指定要使用的巢狀列表。巢狀列表是一個列表,其元素也是列表。
步驟 2 - 使用類似於三維陣列的列表,例如 -
在本例中使用以下列表 -
nestedList2 = [
[
['a', 'b'],
['c', 'd']
],[
['e', 'f'],
['g', 'h']
]
]
步驟 3 - 首先列印指定的巢狀列表。
步驟 4 - 現在使用 for 迴圈迭代第一級列表。在第一個迴圈中新增第二個“for”迴圈以迭代第二級列表。即第一個列表內的列表。
步驟 5 - 在第一個迴圈內新增下一個迴圈以迭代第二級列表。即第一個列表內的列表。
步驟 6 - 現在在其中使用另一個 for 迴圈迭代最內層巢狀列表的元素。在不同的行中列印所有元素。
示例
nestedList2 = [ [ ['a', 'b'], ['c', 'd'] ], [ ['e', 'f'], ['g', 'h']]]
# print the given list
print(nestedList2)
#the first loop
for s in range(len(nestedList2)) :
#second loop
for t in range(len(nestedList2[s])) :
#third loop
for u in range(len(nestedList2[s][t])) :
print(nestedList2[s][t][u],"\n")
輸出
在命令視窗中執行 python 檔案 -
開啟 cmd 視窗。首先,我們將列印三維列表。然後列印各個專案。

在這篇 Python 文章中,透過三個不同的示例,給出了展示如何迭代巢狀列表的方法。第一種方法使用專案索引值進行迭代,並展示了在使用提取的資訊時如何格式化輸出。在第二個示例中,使用 isinstance() 函式查詢給定專案是否為列表,然後進一步遍歷它。最後一個示例使用巢狀的“for”迴圈迭代三維巢狀列表中的專案。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP