Как сделать перестановки с заменой в python? Допустим у меня есть строка 'ABC'
и мне нужно получить такое:'ABC',2 --> 'AB-', 'A-C', '-BC'
В общем, чтобы отсутствующее значение заменялось на -
Пока получается просто так:combinations('ABC', 2) --> AB AC BC

21 Авг 2019 в 06:21
343 +1
0
Ответы
1

Вам нужно использовать модуль itertools и функцию permutations для создания всех перестановок с заменой в Python. Вот пример кода, который реализует вашу задачу:

from itertools import permutations
def replace_permutations(s, n):
s_list = list(s)
for perm in permutations(range(len(s)), n):
new_s = s_list.copy()
for p in perm:
new_s[p] = '-'
print(''.join(new_s))
replace_permutations('ABC', 2)

Этот код создаст все возможные перестановки строки 'ABC', заменяя указанное количество символов на '-'.

20 Апр 2024 в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир