如何在外部循环之前将内部for循环开始一个位置?

时间:2019-12-20 21:49:02

标签: python python-3.x

我是Python的新手,我正在尝试在图像中复制练习。我正在使用2个循环从字符串列表中打印一条消息。但是,X和Y都在同一位置(“ TV”-“ TV”)开始。如何在X + 1处启动内部变量,以避免打印重复的案例?

感谢您的帮助!

My code

1 个答案:

答案 0 :(得分:1)

您可以使用itertools中的combinations来从组合中获取每个x,y,而无需重复:

from itertools import combinations

cols = list('abcd')
for x, y in combinations(cols, 2):
    print(f"{x}, {y}")

输出:

a, b
a, c
a, d
b, c
b, d
c, d

或者,如果没有itertools,则可以执行以下操作:

for i in range(len(cols)-1):
    for j in range(i+1, len(cols)):
        print(f"{cols[i]}, {cols[j]}")

但是不鼓励这样做,并认为它不那么“ pythonic”。 itertools是一个核心库,专门用于这种循环。

相关问题