Найти тему
Машинное обучение

Немного комбинаторики

Если вы не знали, то в модуле itertools в Python есть ряд комбинаторных функций. Туда входят:

◦ product() – прямое (Декартово) произведение одной или нескольких последовательностей.

◦ permutations() – перестановки и размещения элементов последовательности.

◦ combinations() – уникальные комбинации из элементов последовательности.

◦ combinations_with_replacement() – комбинации с замещениями.

Например:

>>> print(*product([1, 2, 3], 'XY'))

(1, 'X') (1, 'Y') (2, 'X') (2, 'Y') (3, 'X') (3, 'Y')

>>> print(*combinations([1, 2, 3], 2))

(1, 2) (1, 3) (2, 3)

>>> print(*permutations([1, 2, 3], 2))

(1, 2) (1, 3) (2, 1) (2, 3) (3, 1) (3, 2)

Хотите узнать больше об этих функциях? Чем отличаются перестановки от сочетаний и размещений? Читайте новую заметку про комбинаторику. Постарался расписать подробно, не забыл даже нарисовать для вас иллюстрации.

В конце текста вас ждет бонус: функция по подбору паролей, основанная на combinations_with_replacement(). Не зря же они ее туда добавили?)

Machinelearning

#coding #bigdata #computerscience #tech #data #pythonprogramming #programmer #developer

Наука
7 млн интересуются