Введение
В Python мы можем разбить список на более мелкие списки равного размера с использованием простой функции. Это может быть полезно, когда мы хотим обрабатывать большие объемы данных по меньшим частям. В этом испытании вам будет предложено написать функцию, которая принимает список и целое число n в качестве входных данных и возвращает список из n более мелких списков, каждый из которых содержит равное количество элементов из исходного списка.
Разделить список на N частей
Напишите функцию на Python под названием chunk_into_n(lst, n), которая принимает список lst и целое число n в качестве входных данных и возвращает список из n более мелких списков, каждый из которых содержит равное количество элементов из исходного списка. Если исходный список нельзя разделить равномерно на n более мелких списков, последняя часть должна содержать оставшиеся элементы.
Для решения этой проблемы вы можете следовать следующим шагам:
- Вычислите размер каждой части, разделив длину исходного списка на
nи округлив до ближайшего целого числа с использованием функцииmath.ceil(). - Создайте новый список размером
nс использованием функцийlist()иrange(). - Используйте функцию
map(), чтобы сопоставить каждый элемент нового списка с частью исходного списка длинойsize. - Верните список более мелких списков.
Ваша функция должна иметь следующую сигнатуру:
def chunk_into_n(lst: list, n: int) -> list:
from math import ceil
def chunk_into_n(lst, n):
size = ceil(len(lst) / n)
return list(
map(lambda x: lst[x * size:x * size + size],
list(range(n)))
)
chunk_into_n([1, 2, 3, 4, 5, 6, 7], 4) ## [[1, 2], [3, 4], [5, 6], [7]]
Резюме
В этом испытании вы узнали, как разбить список на более мелкие списки равного размера с использованием Python. Вы также узнали, как использовать функцию math.ceil() для округления до ближайшего целого числа и функцию map(), чтобы применить функцию к каждому элементу списка.