需求:假设Python没有提供内置函数int如果使用函数方式实现把一串字符串转换成整数例如把字符串‘12345‘转换成整数12345
思路 1,字符串也是序列可以使用map函数处理分割成一个列表
2,使用reduce函数处理生成的列表计算出最终转换的整数结果
#导入reduce函数模块 from functools import reduce #定义reduce函数处理逻辑把数字列表进过处理生成整数 def fn(x,y): return x*10+y #定义map函数逻辑把数字字符串生成列表如'12345'进过处理生成[1,2,3,4,5] def char2num(s): digits = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} return digits[s] #从内往外执行首先把12345进过map处理生成列表[1,2,3,4,5]然后在进过reduce处理生成整数12345打印出来 #处理过程是((((1*10+2)*10)+3)*10+4)*10+5 res = reduce(fn,map(char2num,'12345')) print(res) 12345