Задать вопрос
tolendy017
@tolendy017
Jun backend

Как заменить буквы на звездочки(*) и цифры на 0. Python?

Дан список из символов и заменить на это. И вывести на печать. Пытался через replace там только несколько букв на свои заменяет. Можете подсказать метод?спасибо
  • Вопрос задан
  • 2582 просмотра
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
drygdryg
@drygdryg
Python-разработчик
Допустим, дан список символов — строка s:
s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit 76 111 114 101 109 32 105 112 115 117 109"

Первый способ замены — использование специальных методов строк для проверки, к какой категории символов относится символ, и генератора:
repl_s = "".join("0" if i.isdigit() else "*" if i.isalpha() else i for i in s)

Второй способ — использовать str.translate:
import string

table = str.maketrans({i: "*" for i in string.ascii_letters} | {i: "0" for i in string.digits})
repl_s = s.translate(table)

Обратите внимание, что это будет работать только для символов из таблицы ASCII. Если потребуется поддержка Юникода, то нужно будет передать свои наборы букв и цифр вместо string.ascii_letters и string.digits.

Третий способ — использовать регулярные выражения и re.sub:
import re

repl_s = re.sub(r'[a-zA-Zа-яА-ЯёЁ]', '*', re.sub(r'\d', '0', s))


Результат:
"***** ***** ***** *** ****, *********** ********** **** 00 000 000 000 000 00 000 000 000 000 000"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
Циклом идете и проверяете - если буква - меняете на звездочку. Если цифра - на 0.
Как проверить что буква? Можно по словарю, можно по ACII. С цифрой то же самое
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
19 янв. 2025, в 02:12
70000 руб./за проект
19 янв. 2025, в 01:58
20000 руб./за проект
18 янв. 2025, в 23:27
50000 руб./за проект