Для вычисления перестановок и комбинаций элементов в Python вы можете использовать метод itertools.permutation(). Метод принимает список, словарь, кортеж или другие итераторы в качестве параметра и возвращает перестановки этого списка.
Чтобы использовать метод permutations(), нам нужно импортировать пакет itertools.
Общий пример функции itertools.permutation() в Python
|
1 2 3 4 5 6 7 |
import itertools listA = [21, 18, 19] perm = itertools.permutations(listA) for i in list(perm): print(i) |
Сначала мы импортировали пакет itertools, а затем определили один список, содержащий три элемента. Это означает, что мы получим в общей сложности шесть перестановок.
Затем мы использовали функцию перестановок itertools, чтобы получить все перестановки и отобразить их одну за другой, используя цикл for. См. приведенный ниже вывод.

Пример 2
Чтобы вычислить перестановку кортежа, мы можем использовать функцию itertools.permutations(). Во-первых, мы должны импортировать модуль itertools и использовать метод permutations(). Мы должны передать кортеж в качестве параметра для вычисления перестановок.
|
1 2 3 4 5 6 7 |
from itertools import permutations tupleA =(21, 19) perm = permutations(tupleA) for item in list(perm): print(item) |
Мы напрямую импортировали объект перестановок из модуля itertools в приведенном выше коде.
Затем определили кортеж, вернули результат, и мы повторили его, чтобы напечатать различные перестановки. 
Пример 3
Чтобы вычислить перестановки словаря, мы можем использовать метод itertools.permutations(). Мы должны передать Dictionary.values() в параметры метода перестановок, вот и все. Мы получим результат.
|
1 2 3 4 5 6 7 8 9 10 11 |
from itertools import permutations dictA = { 1: 19, 2: 21, 3: 18 } perm = permutations(dictA.values()) for item in list(perm): print(item) |
В приведенном коде мы вычислили перестановки значений словаря.

