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! — их число быстро растёт.
