字符串转化为整数

方法一:
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)

猜你喜欢

转载自blog.csdn.net/sxf_123456/article/details/82012898