В Python довольно просто создать все перестановки списка, используя модуль itertools. У меня есть ситуация, когда список, который я использую, имеет только два символа (т.е. "1122" ). Я хочу сгенерировать все уникальные перестановки.
Для строки "1122" существует 6 уникальных перестановок (1122, 1212, 1221 и т.д.), но itertools.permutations даст 24 элемента. Это просто, чтобы записывать уникальные перестановки, но для их сбора потребуется гораздо больше времени, чем необходимо, поскольку все 720 элементов считаются.
Есть ли функция или модуль, который учитывает повторяющиеся элементы при генерации перестановок, поэтому мне не нужно писать свои собственные?