Печать массива на отдельных линиях - PullRequest
0 голосов
/ 30 августа 2018

У меня есть список, который содержит следующие данные.

1/3/2015
4
18
43
46
55
25
3
12/30/2015
12 
36 
38 
54 
61 
22 
3

Я пытаюсь заставить серию чисел напечатать одну строку. Я попытался print(" ".join(series[0:8])), и он печатает только последнюю строку, как это

12/31/2016 1 3 28 57 67 9 2

12/28/2016 16 23 30 44 58 4 2

У кого-нибудь есть способ напечатать обе строки?

Должен ли я использовать цикл, чтобы выполнить то, что я ищу?

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Если для «однострочного» нужно просто все на одной строке, то удалите операцию slice .

print(" ".join(series))
#Out> 1/3/2015 4 18 43 46 55 25 3 12/30/2015 12 36 38 54 61 22 3

Однако, если вы знаете, что все ваши предметы имеют одинаковую длину, и вы хотите, чтобы они были в разных строках:

for i in range(0, len(series), 8):
    print(" ".join(series[i:i+8]))
#Out> 1/3/2015 4 18 43 46 55 25 3
#Out> 12/30/2015 12 36 38 54 61 22 3

Выше используется параметр step функции range() для пропуска 8 элементов. И этот фрагмент использует только этот раздел для печати их на отдельных строках.

Следующее использует списочное понимание, чтобы получить ваши куски и выполнить то же, что и выше:

for section in (series[i:i + 8] for i in range(0, len(series), 8)):
    print(" ".join(section))
#Out> 1/3/2015 4 18 43 46 55 25 3
#Out> 12/30/2015 12 36 38 54 61 22 3
0 голосов
/ 30 августа 2018

Вам не нужно использовать цикл for, вы можете просто сделать два print вызова:

print(' '.join(series[0:8]))
print(' '.join(series[8:16]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...