如何在 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”循环迭代三维嵌套列表中的项目。