如何在 python 中生成倾斜的 2d 循环
How to generate skewed 2d loop in python
如何在 python 语法中生成此循环:
for (int i = 0; i < 10; i++)
for (int j = 0; j <= i; j++)
(...)
当然,这行得通:
for i in range(10):
for j in range(10):
if j > i: continue
print((i,j))
但是有没有更优雅的方式在一行中说 让 j
小于或等于 i
?
好的,添加我的评论作为答案,并进行更正(for j in range(i+1)
而不是 for j in range(i)
):
for i in range(10):
for j in range(i+1):
print(f'i: {i}, j: {j}')
这对你有帮助吗?
注意range
中的数字是迭代到的数字。因此,
for i in range(10):
for j in range(i + 1):
# Do something
范围函数range(start, stop, step)
有三个参数。 start 是可选参数,指定范围的下限。它默认为 0。 stop 是必需的参数,用于指定不包括的范围上限。 step为可选参数,指定增量,默认值为1。
也就是说
// ...
for (int j = 0; j < i; j++) {
// ...
}
翻译成
# ...
for j in range(0, i, 1):
# ...
可以简化为
# ...
for j in range(i):
# ...
如何在 python 语法中生成此循环:
for (int i = 0; i < 10; i++)
for (int j = 0; j <= i; j++)
(...)
当然,这行得通:
for i in range(10):
for j in range(10):
if j > i: continue
print((i,j))
但是有没有更优雅的方式在一行中说 让 j
小于或等于 i
?
好的,添加我的评论作为答案,并进行更正(for j in range(i+1)
而不是 for j in range(i)
):
for i in range(10):
for j in range(i+1):
print(f'i: {i}, j: {j}')
这对你有帮助吗?
注意range
中的数字是迭代到的数字。因此,
for i in range(10):
for j in range(i + 1):
# Do something
范围函数range(start, stop, step)
有三个参数。 start 是可选参数,指定范围的下限。它默认为 0。 stop 是必需的参数,用于指定不包括的范围上限。 step为可选参数,指定增量,默认值为1。
也就是说
// ...
for (int j = 0; j < i; j++) {
// ...
}
翻译成
# ...
for j in range(0, i, 1):
# ...
可以简化为
# ...
for j in range(i):
# ...