找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2084|回复: 0

[求助] 小白求助自己的reduce实现

26

主题

84

帖子

84

积分

新手

积分
84
银发的index 发表于 2019-7-3 09:37:32 | 显示全部楼层 |阅读模式
按照学习手册上说的reduce的自己实现方式

def myreduce(func, seq):
    tally = seq[0]
    for next in seq[1:]:
        tally = func(tally,next)
    return tally
问题是手册让实现reduce可选参数initial作为练习...要求是和内置的reduce一个效果,即当seq为空时,默认输出initial=value,当seq非空时 把initial放到seq的头部...也就是
tally = initial, next 从seq[0]开始计数,怎么样才能实现initial为任意值时均能实现啊?比如如果我直接用 initial+seq[:] 对于某些函数就不行了,会引发 Typeerror,还有initial要使用什么默认值呢...我看内置的reduce是用的类方法实现的...


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表