3 трюка с itertools

Модуль itertools - сборник полезных итераторов.

Python
2 ноября 2021 г. 9:54
>>> import itertools as it

>>> List(it.accumulate([11, 3, 9, 7, 5], func=min))
[11, 3, 3, 3, 3]

>>> Llist(it.chain([1, 2, 3], [4, 5], [6]))
[1, 2, 3, 4, 5, 6]

>>> List(it.combinations([1, 2, 3], 2))
[(1,2),(1, 3), (2, 3)]

 

Сегодня мы рассмотрим несколько функций из довольно полезного модуля, позволяющих эффективно работать с итерируемыми объектами. Начнём с очень простой функции – chain. Она позволяет "склеивать" несколько итерируемых элементов в один.

 

Далее, accumulate. Эта функция немного похожа на reduce, но вместо того, чтобы давать одно окончательное значение, она последовательно применяет функцию, заданную вторым аргументом (в данном случае min), к каждому последующему элементу по порядку: min(11), min(11, 3), min(11, 3, 9) и так далее.

 

А для того, чтобы создавать комбинации из элементов выбранного итерируемого объекта, вам понадобится функция combinations. Вторым аргументом можно задать длину этой самой комбинации.

 

Егор Иваникций

Автор: Егор Иваникций

Теги:

Последние новости