python如何对字符串中的字符进行映射?

比如我想将一个字符串中的所有字符变成它ASCII码中前7位的数字,在C里面只要写

for(int i = 0; i < length; i++)
    str[i] = str[i]-7;

在python中应该如何处理呢?用maketrans建立转化表的话一个个输入所有ASCII字符太慢了

阅读 4.4k
1 个回答

python3

>>> s='hijkl'
>>> bytes(map(lambda c:c-7,bytes(s,'ascii'))).decode('ascii')
'abcde'

bytearray

>>> s='hijkl'
>>> barr = bytearray(s,'ascii')
>>> for i in range(len(barr)):
    barr[i]-=7
    
>>> print(barr.decode('ascii'))
abcde
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题