
正文
Python之str型转成int型
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
str转int:
def fn(x,y):
return x*10+y def char2num(s):
return {'':0, '':1, '':2, '':3, '':4, '':5, '':6, '':7, '':8, '':9}[s] # 特别注意这里,后面还有个 [s] print(type(reduce(fn, map(char2num, ''))))
print(reduce(fn, map(char2num, '')))
输出如下:
<type 'int'>
1738785
整理成一个 str2int 函数就是如下喽:
from functools import reduce def str2int(s):
def fn(x,y):
return x*10+y
def char2num(s):
return {'':0, '':1, '':2, '':3, '':4, '':5, '':6, '':7, '':8, '':9}[s]
return reduce(fn,map(char2num,s)) print(str2int(''))
print(type(str2int('')))
用匿名函数lambda再简化一下就成了下面这个样子:
def str2int(s):
return reduce(lambda x,y:x*10+y, map(lambda s:{'':0, '':1, '':2, '':3, '':4, '':5, '':6, '':7, '':8, '':9}[s], s))
WOC,就一行代码哦,够简单!







