Справочник по функциям Python

itertools.permutations

Перебирает перестановки элементов — все варианты их порядка.

Python 3.13
itertools.permutations(iterable, r=None)

Параметры

iterableIterable
Элементы для перестановок.
rint | Noneнеобязательный
Длина перестановки; по умолчанию все элементы.

Возвращаемое значение

Итератор кортежей.

Примеры

Перестановки по два элемента

Python 3.13
from itertools import permutations

print(list(permutations('abc', 2)))
[('a', 'b'), ('a', 'c'), ('b', 'a'), ('b', 'c'), ('c', 'a'), ('c', 'b')]

Число перестановок из четырёх

Python 3.13
from itertools import permutations

print(len(list(permutations(range(4)))))
24

Подробности

Порядок важен: (a, b) и (b, a) — разные перестановки. Элементы различаются по позиции, а не по значению, поэтому для повторяющихся элементов будут одинаковые кортежи. Без r перестановок n! — их число быстро растёт.

Смотрите также