如何在 Python 中迭代嵌套列表?

pythonserver side programmingprogramming更新于 2024/2/24 14:41:00

在本文中,我们将了解 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(nestedList2)
# 第一个循环
for s in range(len(nestedList2)) :
# 第二个循环
    for t in range(len(nestedList2[s])) :
    # 第三个循环
      for u in range(len(nestedList2[s][t])) : 
         print(nestedList2[s][t][u],"\n") 

输出

在命令窗口中运行 python 文件 −

打开 cmd 窗口。首先,我们将打印三维列表。然后打印单个项目。

在这篇 Python 文章中,通过三个不同的示例,给出了展示如何迭代嵌套列表的方法。第一种方法使用项目索引值进行迭代,并展示如何在使用获取的信息时格式化输出。在第二个示例中,isinstance() 函数用于查找给定项目是否为列表,然后进一步迭代它。最后一个例子使用嵌套的"for"循环来迭代三维嵌套列表中的项目。


相关文章