首页 > 解决方案 > 如何忽略范围循环中的重复值

问题描述

我从这个输入开始:

for i in range(3):
  for j in range(3):
    print(i,j)

我得到这个输出:

0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2

如何设计 For 循环,以免得到反向重复的“坐标”,例如 (0,1) 和 (1,0) 或 (1,2) 和 (2,1)?

我想要的嵌套 For 循环的输出是:

0 0
0 1
0 2
1 1
1 2
2 2

标签: pythonpython-3.x

解决方案


这应该可行,只需缩短第二个循环,使第一个数字始终大于或等于第二个:

for i in range(3):
  for j in range(i+1):
    print(i,j)

推荐阅读