Как на Python список разделить по 3 элемента
Есть список из следующих элементов:
sp = [1, 2, 3, 4, 5, 6]
Как разделить список по 3 элементам, чтобы при обращении sp[0] и sp[1] выдавало:
sp[0] = [1, 2, 3]
sp[1] = [4, 5, 6]
То есть как сделать:
sp = [[1, 2, 3], [4, 5, 6]]
Ответы (3 шт):
Автор решения: Billy
→ Ссылка
l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
n = 3
print([l[i:i + n] for i in range(0, len(l), n)])
Автор решения: 300 bucks
→ Ссылка
sp = [1, 2, 3, 4, 5, 6]
print([l[i:i + 3] for i in range(0, len(sp), 3)])
Автор решения: Vershitel_Sudeb
→ Ссылка
Для Python 3.12+:
from itertools import batched
sp = [1, 2, 3, 4, 5, 6]
n = 3
print(list(batched(sp, n)))