как я могу напечатать такой как это? - PullRequest
0 голосов
/ 15 сентября 2018

Я хочу напечатать первые n данных списка в первой строке с одним пробелом между каждыми данными, а вторые n данных списка во второй строке с одним пробелом между каждыми данными и т. Д. например, в List = [1,2,3,4,5,6,7,8,9] я хочу напечатать данные этого списка в 3 строки, например:

1 2 3
4 5 6
7 8 9

что мне делать?

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018
lista = [1, 2, 3, 4, 5, 6, 7, 8, 9]

for index, item in enumerate(lista, start = 1): 
    if index % 3 == 0:
        print(item)
    else:
        print(item, end='')

Вывод:

(xenial)vash@localhost:~/python/stack_overflow$ python3.7 three.py 
123
456
789

Если вы хотите этот пробел, просто добавьте ''

lista = [1, 2, 3, 4, 5, 6, 7, 8, 9]

for index, item in enumerate(lista, start = 1): 
    if index % 3 == 0:
        print(item,'')
    else:
        print(item,'', end='')

Вывод:

(xenial)vash@localhost:~/python/stack_overflow$ python3.7 three.py 
1 2 3 
4 5 6 
7 8 9
0 голосов
/ 15 сентября 2018

Я бы нарезал список на куски размером n, а затем присоединял бы к каждому подсписку пробел:

def printInChunks(lst, n):
    for i in range(len(lst) // n):
        print(' '.join(str(x) for x in lst[i * n : (i + 1) * n]))

# From the example above:
lst = [1,2,3,4,5,6,7,8,9]
n = 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...