8reduce

"""
reduce(func,*iterable)
功能:
1.每一次从iterable拿出2个元素,放入到func中进行处理.得出结果
2.把计算结果于iterable中的第三个元素放到func中进行处理,依次类推

参数:
func: 内置函数或者自定义函数
iterable:可迭代数据

返回值:最终的运算处理结果
"""

1把[5,2,1,1]==>转为5211

  • 普通方法实现
varlist = [5,2,1,1]
res = ''
for i in varlist:
    res += str(i)
    int(res)
print(res)
  • reduce实现
from functools import reduce
def func(x,y):
    return x * 10 + y
varlist = [5, 2, 1, 1]
res = reduce(func, varlist)
print(res)
运算过程
1,先拿出列表中的5和2,赋值给变量,x=5 ,y=2
2. return 返回 5x10+2 = 52

3.拿出列表52和1 x=52 ,y=1
4,return 返回 52x10+1 = 521

5.拿出列表52和1 x=521 ,y=1
6,return 返回 521x10+1 = 5211
原文地址:https://www.cnblogs.com/john5yang/p/15659468.html