您好,匿名用户

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

0 投票

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

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

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

用户头像 提问 2017年 3月7日 @ Jayce 中士 (1,071 威望)
分享到:

1个回答

0 投票

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
用户头像 回复 2017年 3月7日 @ Soraka 中士 (1,024 威望)
提一个问题:

相关问题

0 投票
1 回复 22 阅读
0 投票
1 回复 42 阅读
用户头像 提问 2014年 9月24日 @ Swain 中士 (1,102 威望)
0 投票
1 回复 59 阅读
用户头像 提问 2017年 3月24日 @ mongodb 下士 (932 威望)
0 投票
1 回复 89 阅读
0 投票
1 回复 671 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...