Группировать список в Python означает разделить его на более мелкие группы или фрагменты. Вот несколько методов, которые можно использовать для достижения этой цели:
-
Использование понимания списка:
def batch_list(lst, batch_size): return [lst[i:i+batch_size] for i in range(0, len(lst), batch_size)] -
Использование функции-генератора:
def batch_list(lst, batch_size): for i in range(0, len(lst), batch_size): yield lst[i:i+batch_size] -
Использование numpy.array_split (требуется библиотека NumPy):
import numpy as np def batch_list(lst, batch_size): return np.array_split(lst, len(lst) // batch_size) -
Использование itertools.islice (для итерируемых объектов):
from itertools import islice def batch_list(lst, batch_size): it = iter(lst) return iter(lambda: list(islice(it, batch_size)), []) -
Использование more_itertools.chunked (требуется библиотека more-itertools):
from more_itertools import chunked def batch_list(lst, batch_size): return list(chunked(lst, batch_size))