带有嵌套 while 循环的 for 循环 - Python

时间:2021-06-03 15:14:07

标签: python-3.x list loops for-loop while-loop

我有以下代码:

lst = [1,2,3,4]

a = 0
i = 0
for i in lst:
    while a < len(lst):
        a += 1
        print(a, i)

我想要打印

1 1
2 1
3 1
4 1
1 2
2 2
3 2
4 2
1 3
2 3
3 3
4 3
1 4
2 4
3 4
4 4

但是,我正在努力实现这一目标。我只能让它打印列表中的第一项。

1 1
2 1
3 1
4 1

任何帮助将不胜感激。谢谢

2 个答案:

答案 0 :(得分:3)

将 a 的初始化移动到第一个循环内,以便在每次迭代时将其重置为 0。

lst = [1,2,3,4]

i = 0
for i in lst:
    a = 0
    while a < len(lst):
        a += 1
        print(a, i)

答案 1 :(得分:2)

您忘记在 while 循环完成后将 vars 恢复为零

a