Форум сайта python.su
0
Добрый вечер
Не могу применить функцию replace
translit = [('й':"u"),('ц':"ts"),('у':"y"),('к':"k"),('е':"e"),('н':"H"),('г':"re"),('ш':"w"),('щ':"w,"),('з':"z"),('х':"x"),('ф':"f"),('ы':"bI"),('в':"B"),('а':"a"),('п':"n"),('р':"p"),('о':"o"),('л':"L"),('д':"D"),('ж':"ge"),('э':"e"),('я':"ya"),('ч':"ch"),('c':"c"),('м':"M"),('и':"UI"),('т':"t"),('ь':"]"),('б':"b"),('ю':"yu")] translit1 = translit.replace([:],[,])
Отредактировано paraffine9208 (Дек. 11, 2012 19:39:36)
Офлайн
568
А почему, собственно. должно?
Офлайн
0
А не должно?
Офлайн
15
вместо двоеточия должна запятая быть. И как вы собираетесь к списку применять метод реплейс, я честно сказать с трудом понимаю, он для строк применяется.
Офлайн
43
paraffine9208
надо так
"приветик".translate(str.maketrans({'й':"u",'ц':"ts",'у':"y",'к':"k",'е':"e",'н':"H",'г':"re",'ш':"w",'щ':"w,",'з':"z",'х':"x",'ф':"f",'ы':"bI",'в':"B",'а':"a",'п':"n",'р':"p",'о':"o",'л':"L",'д':"D",'ж':"ge",'э':"e",'я':"ya",'ч':"ch",'c':"c",'м':"M",'и':"UI",'т':"t",'ь':"]",'б':"b",'ю':"yu"})) Out[38]: 'npUIBetUIk'
Офлайн
0
sergeek
paraffine9208
надо так
Офлайн
15
Офлайн
0
Я изначально заполнял словарь, а вот потом через replace понял как сделать. Снова заменять : на , просто лень было…
Спасибо за ответы
Офлайн
0
]z=[('p' , "qaw") , ('r' , "rte") , ('i' , "hgt") , ('v' , "bnt") , ('e' , "mdg") , ('t' , "mnv")] s='privet' for p in z: s=s.replace(p[0],p[1])
s=s.replace(p[0],p[1])
Офлайн
15
И еще у вас там с кавычками что то не так, уж не знаю как вы их писали, ну когда я ваш код скопировал, у меня wing весь изругался на одинарные кавычки, там видимо разные одинарные кавычки используются, или может еще в чем причина.
В вашем примере, как раз вот эта последняя строка, это работа со строкой, т.е. применяется метод replace, что непонятного?!
Отредактировано smoke853 (Дек. 11, 2012 20:43:38)
Офлайн