python字母表顺序函数 | 您所在的位置:网站首页 › python中的字母表 › python字母表顺序函数 |
python获取字母在字母表对应位置的几种方法及性能对比较 某些情况下要求我们查出字母在字母表中的顺序,A = 1,B = 2 , C = 3, 以此类推,比如这道题目 https://projecteuler.net/problem=42 其中一步解题步骤就是需要把字母换算成字母表中对应的顺序。 获取字母在字母表对应位置的方法,最容易想到的实现的是: 使用str.index 或者str.find方法: In [137]: "ABC".index('B') Out[137]: 1 In [138]: "ABC".index('B')+1 Out[138]: 2 #或者在前面填充一个字符,这样index就直接得到字母序号: In [139]: "_ABC".index("B") Out[139]: 2 我还想到把字母表转成list或者tuple再index,性能或者会有提高? 或者把字母:数字 组成键值存到字典中是个好办法? 前两天我还自己顿悟到了一个方法: In [140]: ord('B')-64 Out[140]: 2 ord 和chr 都是python中的内置函数,ord可以把ASCII字符转成对应在ASCII表中的序号,chr则是可以把序号转成字符串。 大写字母中在表中是从65开始,减掉64刚好是大写字母在表中的位置。 小写字母是从97开始,减于96就是对应的字母表位置。 哪种方法可能在性能上更好 |
CopyRight 2018-2019 实验室设备网 版权所有 |