Рубрики

Python | Разделить список на неравные группы

Иногда, работая с python, мы можем столкнуться с проблемой разделения списка. Эта проблема довольно распространена и имеет много вариаций. Наличие решений для популярных вариантов оказывается хорошим в долгосрочной перспективе. Давайте обсудим определенный способ разделения списка на неравные группы, как это определено другим списком.

Метод: Использование itertools.islice() + понимание списка
Комбинация вышеуказанных функций может быть использована для выполнения этой задачи. В этом islice() используется для выполнения основной задачи нарезки списка, а понимание списка используется для выполнения задачи связывания логики и итераций. Контейнер преобразуется в итератор для более быстрой итерации.

# Python3 код для демонстрации работы
# Разделить список на неравные группы
# используя itertools.islice () + понимание списка

from itertools import islice

  
# инициализировать список

test_list = [1, 4, 5, 7, 6, 5, 4, 2, 10]

  
# инициализировать разделенный список

split_list = [3, 4, 2]

  
# печать оригинального списка

print("The original list is : " + str(test_list))

  
# печать разделенного списка

print("The split list is : " + str(split_list))

  
# Разделить список на неравные группы
# используя itertools.islice () + понимание списка

temp = iter(test_list)

res = [list(islice(temp, 0, ele)) for ele in split_list]

  
# результат печати

print("The resultant split list is : " + str(res))

Выход :

The original list is : [1, 4, 5, 7, 6, 5, 4, 2, 10]
The split list is : [3, 4, 2]
The resultant split list is : [[1, 4, 5], [7, 6, 5, 4], [2, 10]]

Рекомендуемые посты:

Python | Разделить список на неравные группы

0.00 (0%) 0 votes