reduce
reduce(func,iterable)
是一个功能性函数,用于计算数据。它把 iterable
中的前两个数据扔到 func
函数中做计算,然后把计算的结果和 iterable
中第三个值继续扔到 func
中做计算,以此类推,最后返回计算的结果。
参数:
func
: 自定义函数iterable
: 可迭代对象(容器类型数据,range对象,迭代器)
返回值:
- 计算的结果
示例
[7,7,5,8] => 7758
lst = [7,7,5,8]
strvar = ""
for i in lst:
strvar += str(i)
res = int(strvar)
print(res , type(res))
使用 reduce
改写:
from functools import reduce
lst = [7,7,5,8]
def func(x,y):
return x * 10 + y
res = reduce(func,lst)
print(res)
# 使用lambda 进行改造
print(reduce(lambda x,y: x*10 + y,lst))
"123" => 123 不使用int的情况下实现该操作
strvar = "123"
def func(x,y):
return x * 10 + y
def func2(n):
dic = {}
for i in range(10): #创建字符串key 数字value字典
dic[str(i)] = i
return dic[n]
it = map(func2,strvar)
print(reduce(lambda x,y: x*10 + y,it))
标签:10,res,reduce,lst,func,strvar
From: https://www.cnblogs.com/wbcde116/p/18050299