У меня есть базовый c вопрос о понимании списка FOR l oop для конкретной печати шаблона - PullRequest
0 голосов
/ 28 мая 2020

Это базовый c "для l oop" код печати шаблона следующим образом:

for i in range (1,5):
    for j in range (i, 5):
        print(j , end='')
    print()

вывод:

1234
234
34
4

Но я хочу то же, что и выше вывод с использованием того же logi c с использованием понимания списка.

для понимания списка.

Я пробовал:

[print(j,end='') for i in range(1,5) for j in range(i,5)]

и вывод:

1234234344

Ответы [ 2 ]

2 голосов
/ 28 мая 2020

Не используйте понимание списка для побочных эффектов , используйте вместо него простой for-l oop, т.е. ваш исходный код.

Но вот как вы это сделаете, используя распаковку вместо второго l oop:

[print(*range(i, 5), sep='') for i in range(1, 5)]

Так что вы можете сделать это вместо:

for i in range(1, 5):
    print(*range(i, 5), sep='')
0 голосов
/ 28 мая 2020

Вы можете подойти к этому, используя вместо этого функцию:

def myfn(i):
    for j in range(i,5):
        print(j,end='')
    print()


[myfn(i) for i in range(1,5) ]
...