Python 将字符串值转换为整数值

Python 将字符串值转换为整数值,python,string,python-2.7,python-3.x,integer,Python,String,Python 2.7,Python 3.x,Integer,是否有任何“简单”的方法将字母字符串转换为整数值?我知道有一种方法是可行的,但它会非常乏味。哦,在Python中,我忘了提到这一点。这就像“ABC”=123 注意,罗布的答案更好。。。(直到“i”;=) 注意,罗布的答案更好。。。(直到'i';=)您的问题没有明确说明。实际上,有无限多个函数将'ABC'转换为123,其中包括: def letter2number(s): return 123 如果您想通过将字母偏移量的十进制数字连接到字母表中来转换字符串,那么这个方法可能适合您。请注意

是否有任何“简单”的方法将字母字符串转换为整数值?我知道有一种方法是可行的,但它会非常乏味。哦,在Python中,我忘了提到这一点。这就像“ABC”=123

注意,罗布的答案更好。。。(直到“i”;=)


注意,罗布的答案更好。。。(直到'i';=)

您的问题没有明确说明。实际上,有无限多个函数将
'ABC'
转换为
123
,其中包括:

def letter2number(s):
    return 123
如果您想通过将字母偏移量的十进制数字连接到字母表中来转换字符串,那么这个方法可能适合您。请注意,不能对值进行往返:
24
可以是
X
,也可以是
BD

def letter2number(s):
    return int(''.join('%d'%(ord(ch)-ord('A')+1) for ch in s))

assert letter2number('ABC') == 123
assert letter2number('XYZ') == 242526

你的问题没有明确说明。实际上,有无限多个函数将
'ABC'
转换为
123
,其中包括:

def letter2number(s):
    return 123
如果您想通过将字母偏移量的十进制数字连接到字母表中来转换字符串,那么这个方法可能适合您。请注意,不能对值进行往返:
24
可以是
X
,也可以是
BD

def letter2number(s):
    return int(''.join('%d'%(ord(ch)-ord('A')+1) for ch in s))

assert letter2number('ABC') == 123
assert letter2number('XYZ') == 242526
预定义将字母映射为数字的词典:

d = {'A': '1', 'B': '2', 'C': '3', 'D': '4',
     'E': '5', 'F': '6', 'G': '7', 'H': '8',
     'I': '9', 'J': '10', 'K': '11', 'L': '12',
     'M': '13', 'N': '14', 'O': '15', 'P': '16',
     'Q': '17', 'R': '18', 'S': '19', 'T': '20',
     'U': '21', 'V': '22', 'W': '23', 'X': '24',
     'Y': '25', 'Z': '26'}
然后,您可以使用以下工具进行转换:

int(''.join(d[c] for c in 'ABC'))
预定义将字母映射为数字的词典:

d = {'A': '1', 'B': '2', 'C': '3', 'D': '4',
     'E': '5', 'F': '6', 'G': '7', 'H': '8',
     'I': '9', 'J': '10', 'K': '11', 'L': '12',
     'M': '13', 'N': '14', 'O': '15', 'P': '16',
     'Q': '17', 'R': '18', 'S': '19', 'T': '20',
     'U': '21', 'V': '22', 'W': '23', 'X': '24',
     'Y': '25', 'Z': '26'}
然后,您可以使用以下工具进行转换:

int(''.join(d[c] for c in 'ABC'))

“XYZ”会翻译成什么?是的,这是一个很好的问题…XYZ会翻译成什么?是的,这是一个很好的问题…所以在每个代码中添加100(保持简单),然后粘在一起。但是
'ABC'
不会产生
123
,这确实是一个要求。所以它需要是一个可变长度的代码,可能以0作为扩展指示符。但我想这不是OP想要的…所以在每个代码中添加100(保持简单),然后粘在一起。但是
'ABC'
不会产生
123
,这确实是一个要求。所以它需要是一个可变长度的代码,可能以0作为扩展指示符。但我想那不是OP想要的…谢谢,这是我需要的汉克斯,这是我需要的