Проверка и вывод всех i'тых анаграмм

Всем привет, хотел бы попросить помощи в решении одной проблемки. Я хотел бы вывести все анаграммы одного слова, и заранее видеть "паттерны" i'тых по которым будут выведены отдельные буквы последующего слова. Так же для проверки на одинаковость анаграмм хотел забивать все слова в один общий список и сверять есть ли такое слово или нет.

from random import randint
import math
a = []
b = []
vivod = []
ii = 0
count = 0
d1 = 0
a = str(input())
c = len(a)
b = list(a)
d = math.factorial(c)

if c > 4:
   count =+ 1

if count < 1:
   while d >= d1:
       for i in range (d):
           ii = randint(0,3)
           print(ii)
       for i in range (c):
           for i in b:
              vivod.append(b[ii])
              print(vivod)
       d1 =+ 1
   print(vivod)

Пример вывода программы введите сюда описание изображения


Ответы (1 шт):

Автор решения: Иван

Благодаря Интику нашёлся легкий ответ, как мне казалось, сложной задаче. Для решения данной задачи я использовал очень похожий итератор с combination, это итератор combinations_with_replacement. Его использование возможно так: for <кол-во повторений цикла> in combinations_with_replacement(<то что будет комбинироваться, просто слова в кавычках, списки просто вставить>, <кол-во символов в выводимом слове>): print(''.join(<кол-во повторений цикла>)) Пример + вывод:

from itertools import combinations_with_replacement
from math import factorial
a = []
a = str(input())
c = list(a)
b = len(a)
d = factorial(b)
for d in combinations_with_replacement(c, b):
   print(''.join(d))    

shrek (введённое слово) sssss, ssssh, ssssr, sssse, ssssk, ssshh, ssshr, ssshe, ssshk, sssrr, sssre, sssrk, sssee, sssek, ssskk, sshhh, sshhr, sshhe, sshhk, sshrr, sshre, sshrk, sshek, sshkk, ssrrr, ssrre, ssrrk, ssree, ssrek, ssrkk, sseee, sseek, ssekk, sskkk, shhhh, shhhr, shhhe, shhhk, shhrr, shhre, shhrk, shhee, shhek, shhkk, shrrr, shrre, shrrk, shree, shrek, shrkk, sheee, sheek, shekk, shkkk, srrrr, srrre, srrrk, srree, srrek, srrkk, sreee, sreek, srekk, srkkk, seeee, seeek, seekk, sekkk, skkkk, hhhhh, hhhhr, hhhhe, hhhhk, hhhrr, hhhre, hhhrk, hhhee, hhhek, hhhkk, hhrrr, hhrre, hhrrk, hhree, hhrek, hhrkk, hheee, hheek, hhekk, hhkkk, hrrrr, hrrre, hrrrk, hrree, hrrek, hrrkk, hreee, hreek, hrekk, hrkkk,, heeee, heeek, heekk, hekkk, hkkkk, rrrrr, rrrre, rrrrk, rrree, rrrek, rrrkk, rreee, rreek, rrekk, rrkkk, reeee, reeek, reekk, rekkk, rkkkk, eeeee, eeeek, eeekk, eekkk, ekkkk, kkkkk. (Запятые и точка в вывод не входят)

→ Ссылка