Как ограничить перестановки строк строкой без одной буквы? - PullRequest
1 голос
/ 07 августа 2020

В Python я пытаюсь получить перестановки строки, в которой отсутствует только одна буква и буквы не перемешиваются. Например:

string = 'bicycle'

Я хочу получить только эти перестановки:

['icycle','bcycle','biycle','biccle','bicyle','bicyce','bicycl']

Использование модуля permutations из itertools дает мне все возможные перестановки , но я не хочу этого. Как лучше всего получить перестановки, показанные в списке выше?

1 Ответ

3 голосов
/ 07 августа 2020
string = 'bicycle'

out = [string[:i] + string[i+1:] for i in range(len(string))]
print(out)

Печать:

['icycle', 'bcycle', 'biycle', 'biccle', 'bicyle', 'bicyce', 'bicycl']
...