Нужно найти в списке слов все слова на букву "в", и заменить букву "в" на букву "а" во всех словах. Как это сделать, без разбивания каждого слова на буквы и замены по индексу.
Пример:
Вход:
a=['рука', 'нож', 'ведро', 'Неаполь', 'Виктория', 'материк']
Выход:
a=['рука', 'нож', 'аедро', 'Неаполь', 'аиктория', 'материк']
Ответ
Для списка:
import re
In [143]: print(a)
['рука', 'нож', 'ведро', 'Неаполь', 'Виктория', 'материк', 'бровь']
In [144]: new = [re.sub(r'^в', r'а', word, flags=re.U|re.I) for word in a]
In [145]: print(new)
['рука', 'нож', 'аедро', 'Неаполь', 'аиктория', 'материк', 'бровь']
# ^
Для строки:
import re
s = 'Нужно найти в списке слов все слова на букву "в", и заменить букву "в" на букву "а" во всех словах. Как ето сделать, без разбивания каждого слова на буквы и замены по индексу. Большое Спасибо!'
new = re.sub(r'\bв', r'X', s, flags=re.UNICODE)
print(new)
Результат:
Нужно найти X списке слов Xсе слова на букву "X", и заменить букву "X" на букву "а" Xо Xсех словах. Как ето сделать, без разбивания каждого слова на б
уквы и замены по индексу. Большое Спасибо!
Комментариев нет:
Отправить комментарий