方法一:
from functools import reduce
DIGITS = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
def str2int(s):
def char2num(s):
return DIGITS[s]
return reduce(lambda x,y:x*10+y,map(char2num,s))
print(str2int('123'))
方法二:
from functools import reduce
DIGITS = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
def str2int(s):
def fn(x,y):
return x*10+y
def char2num(s):
return DIGITS[s]
return reduce(fn,map(char2num,s))
print(str2int('1233'))
方法三:
from functools import reduce
def fn(x,y):
return x*10+y
def char2num(c):
digits = {'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8':8,'9':9}
return digits[c]
number = reduce(fn,map(char2num,"123012"))
print(number)
字符串转化为整数
最新推荐文章于 2021-02-22 09:58:49 发布