Я пытаюсь использовать itertools.permutations(), чтобы возвращать все перестановки строки и возвращать только те, которые являются членами набора слов.
import itertools
def permutations_in_dict(string, words):
'''
Parameters
----------
string : {str}
words : {set}
Returns
-------
list : {list} of {str}
Example
-------
>>> permutations_in_dict('act', {'cat', 'rat', 'dog', 'act'})
['act', 'cat']
'''
Мое текущее решение отлично работает в терминале, но как-то не могло пройти тестовый сценарий...
return list(set([''.join(p) for p in itertools.permutations(string)]) & words)
Любая помощь будет оценена.