Скажем, у меня есть список произвольной длины, L:
L = list(range(1000))
Каков наилучший способ разбить этот список на группы из n
? Это лучшая структура, с которой я смог придумать, и по какой-то причине не кажется, что это лучший способ выполнить задачу:
n = 25
for i in range(0, len(L), n):
chunk = L[i:i+25]
Есть ли встроенная функция для этого, я не хватает?
Изменить: Ранние ответы перерабатывают мой цикл for в listcomp, что не является идеей; вы в основном даете мне мой точный ответ в другой форме. Я вижу, есть ли альтернативное средство для достижения этого, как гипотетический .split
в списках или что-то в этом роде. Я также использую это как генератор в некотором коде, который я написал вчера вечером:
def split_list(L, n):
assert type(L) is list, "L is not a list"
for i in range(0, len(L), n):
yield L[i:i+n]