training-web.ruГлавнаяКатегорииО насКарта сайтаПоискТёмная тема

Категории

Как разделить массив на равные части Python

Создано: 16 мая 2025Автор: Егор Астапов15 просмотровСложность: легкий

Как разделить массив на равные части Python. Иногда возникает ситуация в которой массив слишком большой и с ним неудобно работать. Когда вы вызываете функцию, то передавать ей большой массив длинной в несколько тысяч элементов опасно. Нет гарантии в том, что такая функция успешно отработает. Поэтому массив для входного параметра лучше разделить на небольшие части

В первом примере я использую генератор yield. Он позволяет работать с большим массивом не загружая весь массив в память. Чтение массива и его загрузка происходит частями.

def split_list(lst, chunk_size):
for i in range(0, len(lst), chunk_size):
yield lst[i : i + chunk_size]

data = list(range(1000))
chunk_size = 100
for chunk in split_list(data, chunk_size):
print(chunk)

Тут применяется простой цикл for. Этот пример хорош для небольших массивов.

data = list(range(1000))
chunk_size = 100
for i in range(0, len(data), chunk_size):
chunk = data[i:i + chunk_size] # Получаем срез массива
print(chunk)

Тут я использую библиотеку polars. Читайте подробнее на странице библиотека Polars для аналитики данных Python.Она хороша тем что позволяет работать с большими объёмами данных. Она шустрее numpy.

import polars as pl

data = list(range(1000))
chunk_size = 100
# Преобразуем список в DataFrame
df = pl.DataFrame(data)
# Разбиваем DataFrame на части
for i in range(0, df.height, chunk_size):
chunk = df[i:i + chunk_size] # Получаем срез DataFrame
print(chunk)

Комментарии

реклама