Форум сайта python.su
0
как заставить такой код работать
replace=({'old':'v1', 'new':'v2'}) s='v1' print(s.replace(random.choice(replace)))
Отредактировано habrman (Июль 8, 2019 07:51:33)
Офлайн
568
habrman
Вы бы сказали, чего вы хотите получить, вам бы ответили, как это лучше сделать
Офлайн
294
habrmanникак:
как заставить такой код работать
str.replace(old, new[, max])
[code python][/code]
Отредактировано PEHDOM (Июль 8, 2019 09:30:26)
Офлайн
0
будет список замен
replace=({'old':'v1', 'new':'v2'},{'old':'v1', 'new':'v2'},{'old':'v1', 'new':'v2'})
Офлайн
294
habrmanтак чтоле?
хочу рандомно брать 1 элемент словарь и делать замену в строке
import random replace=({'old':'v1', 'new':'v2'},{'old':'v1', 'new':'v3'},{'old':'v1', 'new':'v4'}) s='v1' for i in range(5): random_dict=(random.choice(replace)) print(s.replace(random_dict['old'],random_dict['new'])) >>> v2 v4 v3 v2 v3 >>>
[code python][/code]
Офлайн
0
да
но без строки random_dict
random.choice(replace))
думал может replace умеет мапить словарь на параметры
Офлайн
186
>>> import random >>> s = "123456789" >>> tab = [('1', 'a'), ('2','b'), ('3','c'), ('4', 'd'), ('5', 'e')] >>> s.translate({ ord(x):y for x,y in [random.choice(tab)] }) '1b3456789'
Офлайн
294
habrmanтут собственно вопрос что вам таки конкретно надо?
думал может replace умеет мапить словарь на параметры
import random replace={'old':'v1', 'new':('v2', 'v3','v4')} s='v1' for i in range(5): print(s.replace(replace['old'],random.choice(replace['new'])))
import random replace=(('v1','v2'),('v1','v3'),('v1','v4')) s='v1' for i in range(5): print(s.replace(*random.choice(replace)))
[code python][/code]
Отредактировано PEHDOM (Июль 8, 2019 11:25:11)
Офлайн