itertools.permutations
дает вам итератор для перестановок вашего списка.Вы можете извлекать значения одно за другим, функция ничего не вычисляет заранее.
Если вы просто хотите получить первые n
перестановки, произведенные без каких-либо дополнительных ограничений, islice
результат permutations
.
>>> from itertools import permutations, islice
>>> perms = islice(permutations(yourlist), n)
Вычисление перестановок начнется только после итерации по perms
- либо непосредственно с помощью цикла for
, либо создания контейнера (list
, tuple
, set
,...) из этого.