Оптимизация покрытия строки в Python

У меня была эта начальная строка .

'bananaappleorangestrawberryapplepear'

И еще есть кортеж со строками:

('apple', 'plepe', 'leoran', 'lemon')

Мне нужна функция, чтобы из начальной строки и кортежа со строками я получил следующее:

'bananaxxxxxxxxxgestrawberryxxxxxxxar'

Я знаю, как это сделать в обязательном порядке, найдя слово в начальная строка для каждого слова, а затем символ за символом во всей начальной строке с замененными словами.

Но это не очень эффективно и некрасиво. Я подозреваю, что должен быть какой-то способ сделать это более элегантно, функционально, с помощью itertools или чего-то еще. Если вы знаете библиотеку Python, которая может делать это эффективно, дайте мне знать.

ОБНОВЛЕНИЕ : Джастин Пил указал на случай, который я не описал в своем первоначальном вопросе. Если слово - «ааа» и «аааааа» находится в начальной строке, результат должен выглядеть как «xxxxxx».

5
задан Danny Navarro 15 November 2010 в 09:22
поделиться