首页 > 解决方案 > 我正在尝试创建一个 reduce 函数,但是当我需要调用该函数时,我不明白第一个参数应该是什么

问题描述

def myreduce(anyfunc, sequence):

    result = sequence[0]
    for item in sequence[1:]:
        result = anyfunc(result, item)
    return result

myreduce(,[1,2,3,4])

标签: pythonfunctionreduce

解决方案


要访问运算符(*、+、//、/、& 等)的语法,您需要运算符库。例如,您似乎想编写类似“myreduce(*,[1,2,3,4])" 的内容来使用列表中的多重运算符。这是在操作员模块中。

import operator

myreduce(operator.mul,[1,2,3,4])

当然,你刚才写的函数是functools模块中已经写好的函数。

from functools import reduce
import operator

reduce(operator.add,[1,2,3,4,5])

推荐阅读