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)