Я хочу напечатать список [1,2,3,4,5,6,7,8,9] как

1 2 3
4 5 6
7 8 9

Вот мой код

for i,j in enumerate(list):
     if i  is not 0 and i % 3==0:
         print()
     else:
         print(j,end=" ")

Мой результат

1 2 3
5 6
8 9

Может кто-нибудь помочь объяснить, почему это произошло, и дать мне несколько советов?

1
xukun 14 Сен 2018 в 06:32

2 ответа

Лучший ответ

Вы должны печатать элемент списка j безоговорочно, а не делать это только тогда, когда вы не печатаете новую строку:

l = [1,2,3,4,5,6,7,8,9]
for i,j in enumerate(l):
     if i  is not 0 and i % 3==0:
         print()
     print(j,end=" ")
0
blhsing 14 Сен 2018 в 03:37

Ты можешь сделать:

tgt=[1,2,3,4,5,6,7,8,9]
n=3
print('\n'.join([' '.join(map(str, sl)) for sl in [tgt[i:i+n] for i in range(0,len(tgt),n)]]))

Печать :

1 2 3
4 5 6
7 8 9
0
dawg 14 Сен 2018 в 03:42