代码高尔夫!有没有一种简单的方法可以在Python中将字母转换为数字?

时间:2015-03-17 16:18:17

标签: python function module converter

你知道,比如A = 1,B = 2等等。我可以列出一个很长的if-thens列表,但也许已经有了它的模块。

奖金,如果它像在" Excel坐标" AA = 27并继续。 (这是否算作base26数字?)

2 个答案:

答案 0 :(得分:1)

def foo(c):
    return ord(c) - 64

FOO( 'A')

1

FOO( 'B')

2

脱离我的头顶:p

答案 1 :(得分:0)

from string import ascii_uppercase
letterKey = dict(list(zip( ascii_uppercase, range(1, 27))))

至于excel cords:

geExceltValue = lambda string: sum([26**i * list(reversed(map(lambda x: letterKey[x], string)))[i] for i in range(len(string))])

print geExceltValue("AA")