字符串的这个东西-翻译表

栏目: Python · 发布时间: 6年前

内容简介:不知道大家是否见过这个东西,反正我清楚记得我是见过的,可是为什么会写这个东西?有以下一个场景:怎样将一个字符串中的中文字符统一转换成英文字符?不知道大家会怎样去做?先列举一个例子:

不知道大家是否见过这个东西,反正我清楚记得我是见过的,可是为什么会写这个东西?有以下一个场景:

怎样将一个字符串中的中文字符统一转换成英文字符?

不知道大家会怎样去做?先列举一个例子:

'hello i'm jim'将其中的 'e' 转换成 'i' , 'o' 转换成 '!'

我的做法是:

s = 'hello i\'m jim'
ch = 'eo'
en_ch = 'i!'

for i, c in enumrate(s):
    if c in ch:
        s = s.replace(c, en_ch[ch.index(c)])

简直就是so easy! , 可是... 这两个字太可怕了,后端老大直接开喷,写的啥玩意.难道还有什么好方法?只能悄咪咪的看人家写喽

s = 'hello i\'m jim'
ch = 'eo'
en_ch = 'i!'
TRANS_TABLE = {ord(f): ord(t) for f, t in zip(ch, en_ch)}

s.translate(TRANS_TABLE)

呦吼!!!,这是什么鬼?怎么记得在哪里看见过,赶紧百度,原来这是翻译表,怎么操作呢?

from string import maketrans
s = 'hello i\'m jim'
ch = 'eo'
en_ch = 'i!'

# python2.0+
# from string import maketrans
# TRANS_TABLE = maketrans(ch, en_ch)
# python3.0+
TRANS_TABLE = str.maketrans(ch, en_ch)

s.translate(TRANS_TABLE)

这样就可以很方便的去处理字符串,而不是像我这样小白只能循环,当然我也不是只能想到循环,还有正则,哈哈哈,但是感觉这种更舒服.最后感叹一句,还是后端老大NB.


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

爆裂

爆裂

[美] 伊藤穰一、[美] 杰夫·豪 / 张培、吴建英、周卓斌 / 中信出版集团 / 2017-9-1 / 65.00元

越是在发生重大改变的时刻,越是会出现两极分化,赢家、输家有时只在一念间。未来已经装上了全新的操作系统。这是一个重大升级,对我们而言,随之而来的则是陡峭的学习曲线。在指数时代,替换旧逻辑,我们的思维亟需与世界对接,推翻过去已经成为大众所接受的常识,学会差异化思考才能屹立不倒,不被卷入历史的洪流。 在《爆裂》一书中,伊藤穰一和杰夫·豪将这一逻辑提炼为9大原则,帮助人们驾驭这一动荡时刻,应对当下的......一起来看看 《爆裂》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具