Python中将字符转为ASCII码的方法

刷题的时候遇到一个题目,字符串列表strs[str]中包含许多字符串元素,对比字符串元素间是否有相同字母。

在进行对比的时候,可以将字符串映射为二进制0、1串,01串进行位运算中的与运算,可以快速得出答案(与运算后结果大于0则存在相同字母)。

 

然而,Python中是没有字符型类型的,所以在进行字符串元素映射到01串的操作时,无法用pos = char - 'a'得到每个字母对应的01串位置。而使用字典又太过麻烦。

一番学习,发现Python内置方法ord()可以实现此功能。

 

ord(char)返回char对应的ASCII码。如pos = ord('f') - 97,即可得到某个字母对应的01串中的位置。

 

如何得到01串:

one_hot = 0

pos = ord('f') - 97

one_hot += 2 ** pos

 

字母转ASCII码:ord(str)

ASCII码转字母:chr(int)

posted @ 2021-11-19 11:17  木心95  阅读(2355)  评论(0编辑  收藏  举报