Python-另一个循环中的循环

Python-另一个循环中的循环,python,for-loop,Python,For Loop,我想写一个这样的forloop: def loop_in_loop(): for i in range(20): for j in range(10): print (i, j) 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 0 11 1 12 2 13 2 我希望在运行此循环时,可以看到如下结果: def loop_in_loop(): for i in range(20): f

我想写一个这样的forloop:

def loop_in_loop():
    for i in range(20):
        for j in range(10):
            print (i, j)
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 0
11 1
12 2
13 2
我希望在运行此循环时,可以看到如下结果:

def loop_in_loop():
    for i in range(20):
        for j in range(10):
            print (i, j)
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 0
11 1
12 2
13 2
但请将结果返回给我:

0 0
0 1
0 2
0 3
0 4
0 5
0 6
1 0
1 1
1 2
1 3
1 4
1 5
1 6
2 0
2 1
2 2
2 3

我怎样才能解决这个问题呢?

让我们想想这里发生了什么。 有两个循环,一个循环在另一个循环中- 对于外部循环中的每个值(我们称之为i循环),我们将遍历内部循环中的每个值(我们称之为j循环)

对于i的第一个值,0,你在整个j循环中循环(0到10)。因此,您最终打印:

0, 0
0, 1 # i is still 0, but j is now 1
0, 2 # i is still 0, but j is now 2
etc
如果你只是想得到预期的输出,我会看一下%(模)操作符——不需要循环中的循环

for i in xrange(0, 20):
    print i, ",", i % 10
首先,您希望同步更改
i
j
,然后您希望再次同步更改,但要在
i
j
之间切换


其他办法:

在第一种情况下,
i
j
是相同的,而在第二种情况下,它们只是一个对另一个进行移位,因此只能使用一个变量进行循环:

for i in range(10):
    print(i, i)

for i in range(10, 14):
    print(i, i - 10)

如果i%10==j%10,而不是print i,你看,第一个循环开始第二个循环,所以它当然会先完成第二个循环,然后迭代到下一个值,从而得到结果。