Есть массив с числами: a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Каким образом можно их разбить на 3 колонки, чтобы получилось числа в таком формате?
AleksKc, если a - это список, то его длина известна. Соответственно, количество строк будет row_count = len(a) / 3, а если количество элементов в списке не кратно трём, то вместо zip надо использовать itertools.zip_longest:
from itertools import zip_longest
from math import ceil
def chunkify(items, chunk_size):
for i in range(0, len(items), chunk_size):
yield items[i:i+chunk_size]
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
row_count = ceil(len(a) / 3)
for chunk in zip_longest(*chunkify(a, row_count), fillvalue=''):
print(*chunk)
Сергей Горностаев, Спасибо, а еще вопрос. Можно как-то расположить элементы, чтобы у всех элементов столбца первый символ шел четко друг под другом. Если учесть, что список содержит случайные значения?
Примерно такие элементы будут в списке:
1 15 91
241 6 10
31 76 11
4 811 132
Одинаковый интервал между столбцами сделать нельзя. Как можно поступить в данном случаи?