заменить цифру в строке

х = ['27342837429']. заменить любую цифру в строке ниже 5 на «0», а любую цифру 5 и выше на «1».


Ответы (4 шт):

Автор решения: dIm0n

Вот так вот:

import re 

x = ['27342837429']
s = x[0]

print(s)

print(re.sub('[0-4]', '0', s))
print(re.sub('[5-9]', '1', s))

print(re.sub('[5-9]', '1', re.sub('[0-4]', '0', s)))

Ещё вариант:

x = ['27342837429']
s = x[0]

print(s.translate(str.maketrans('0123456789', '0000011111')))
→ Ссылка
Автор решения: S. Nick

как вариант

''.join([ '0' if int(i) < 5 else '1'  for i in х[0] ])
→ Ссылка
Автор решения: Victor VosMottor

Как насчет функционального программирования?

''.join(map(lambda el:'0' if int(el) < 5 else '1', x[0]))

Вариация :

print(*map(lambda el:'0' if int(el) < 5 else '1', x[0]))
→ Ссылка
Автор решения: XP5

Мне, как новичку проще сделать и прочитать такой код:

a = str(input("Число: "))
aa = ""

for o in a:
    if o in "01234":
        aa += "0"
    elif o in "56789":
        aa += "1"
    else:
        aa += ""
a = aa

print(aa)

Код не в одну строку, но и не на древне китайском.

→ Ссылка