Допустим, дан список символов — строка 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"