Я пытаюсь распечатать список, и для каждых 5 индексов выводится новая строка. Так, например, если у меня есть:
[1,2,3,4,5,6,7,8,9,10]
результат будет:
1 2 3 4 5
6 7 8 9 10
Я попробовал это до сих пор:
lst = [1,2,3,4,5,6,7,8,9,10]
for i in lst:
if len(lst) > 5:
print(lst,'\n')
но все, что я получаю, это:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
.......
Как я мог это сделать?
Спасибо за помощь!
len(list)
он не делится на ваш индекс?Ответы:
Попробуй это:
вывод будет:
Также вы можете заменить
5
любое другое число или переменные.источник
*i
аргумент распаковки для форматирования в моем ответе? Это намного лучше, чем ток, который" ".join()
у меня сейчас идетsep=
вprint
функции тоже. это хорошо. что-то вроде этогоprint(*i, sep='-')
он напечатает:1-2-3-4-5
Используется для цикла с шагом:
Если вы хотите больше разбираться в форматировании, вы можете использовать распаковку аргументов следующим образом:
print(*list[i:i+n_indices])
и получить результаты в следующем формате:источник
Вы можете использовать ниже код: -
Это даст вам желаемый результат.
источник
Немного идиоматичнее других ответов:
Для больших списков это также намного быстрее:
источник