Я пытаюсь создать все возможные способы чередования любых двух произвольных строк в Python.
Например: если две строки: 'ab'
и 'cd'
, вывод, который я хочу получить, это:
['abcd', 'acbd', 'acdb', 'cabd', 'cadb', 'cdab']
См. a
всегда перед b
(и c
до d
). Я изо всех сил пытаюсь найти решение этого. Я попробовал itertools, как показано ниже:
import itertools
def shuffle(s,t):
string = s+t
for i in itertools.permutations(string):
print(''.join(i))
shuffle('ab','cd')
Но, как и ожидалось, это возвращает все возможные перестановки без учета порядка a
и b
(и c
и d
).