使用 functools.reduce 时出现属性错误

Posted

技术标签:

【中文标题】使用 functools.reduce 时出现属性错误【英文标题】:Attribute error while using functools.reduce 【发布时间】:2021-01-16 11:35:06 【问题描述】:

运行此代码时出现属性错误。为什么下一次迭代没有返回result.append(item)?

from functools import reduce

def reducer(arr):

  return reduce((lambda result,item: result.append(item)),arr,[])

print(reducer([[1,3],[2,4]]))

【问题讨论】:

【参考方案1】:

list.append 不返回列表。您可以使用list1 + list2 来扩展list1list2 中的所有元素,因此以下将起作用。

def reducer(arr):
    return reduce((lambda result, item: result + item), arr, [])

【讨论】:

哦,我明白了。非常感谢 @heisenbaig 这是一个非常好的答案,可以解决您的问题。 “接受”答案会很好。

以上是关于使用 functools.reduce 时出现属性错误的主要内容,如果未能解决你的问题,请参考以下文章

reduce python 的用法

python学习笔记 -- reduce合并减少

chapter5.4Python之functools

使用管道时出现属性绑定错误

使用 Shell32 获取文件扩展属性时出现异常

在元素标签中使用 twitter 引导属性时出现 *** 错误