python獲取字母在字母表對(duì)應(yīng)位置的幾種方法及性能對(duì)比較
某些情況下要求我們查出字母在字母表中的順序,A = 1,B = 2 , C = 3, 以此類推,比如這道題目https://projecteuler.net/problem=42
其中一步解題步驟就是需要把字母換算成字母表中對(duì)應(yīng)的順序。
獲取字母在字母表對(duì)應(yīng)位置的方法,最容易想到的實(shí)現(xiàn)的是:
使用str.index 或者str.find方法:
In [137]: "ABC".index('B')Out[137]: 1In [138]: "ABC".index('B')+1Out[138]: 2#或者在前面填充一個(gè)字符,這樣index就直接得到字母序號(hào):In [139]: "_ABC".index("B")Out[139]: 2
我還想到把字母表轉(zhuǎn)成list或者tuple再index,性能或者會(huì)有提高?
或者把字母:數(shù)字 組成鍵值存到字典中是個(gè)好辦法?
前兩天我還自己頓悟到了一個(gè)方法:
In [140]: ord('B')-64Out[140]: 2