首页 > 解决方案 > Python:嵌套for循环

问题描述

您好,我是 python 的初学者,我已经被这个问题困扰了一段时间。我想从 2 个列表开始:

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list2 = [a, b, c]

并编写一个函数,它将给我这个输出:

a
1
2
3
b
4
5
6
c
7
8
9

我曾尝试使用嵌套的 for 循环和一个计数器,但我不确定如何获得上述结果。

counter = 0
for i in list2:
    print(i)
    for j in list1:
        print(j)
        counter += 1
        if counter == 3:
            counter = 0
            break

任何帮助,将不胜感激!

标签: python

解决方案


这是一个选项:

for i, v1 in enumerate(list2):
    print(v1)
    for v2 in list1[i*3:(i+1)*3]:
        print(v2)

您无需在此处创建和更新您自己的计数器。内置enumerate()函数会为您生成一个计数器,并为循环的每个步骤自动更新它。然后您可以使用列表切片来获取内部列表的正确三个值。


推荐阅读