这是基本的“ for loop”图案打印代码,如下所示:
for i in range (1,5):
for j in range (i, 5):
print(j , end='')
print()
输出:
1234
234
34
4
但是我希望使用List Comprehension使用相同的逻辑与上述输出相同。
用于列表理解。
我尝试过:
[print(j,end='') for i in range(1,5) for j in range(i,5)]
输出为:
1234234344
[Don't use a list comprehension for side effects,请使用普通的for循环,即您的原始代码。
但是这是通过使用解压缩而不是第二个循环来实现的方法:
[print(*range(i, 5), sep='') for i in range(1, 5)]
所以您可以改为这样做:
for i in range(1, 5):
print(*range(i, 5), sep='')
您可以通过使用函数代替此方法:
def myfn(i):
for j in range(i,5):
print(j,end='')
print()
[myfn(i) for i in range(1,5) ]