【发布时间】:2020-09-23 09:15:42
【问题描述】:
我正在尝试将我的 Python 技能(初学者)提升到一个新的水平。 我正在尝试自学 functools.reduce() 函数
所以我每次都遇到同样的错误; 如果有人能向我解释我的代码有什么问题,我将不胜感激
我正在尝试构建一个简单的函数来接收一个数字并返回数字的总和
import functools
def sum_using_reduce(number):
return str(number)[0] + str(number)[1]
number = 104
print(functools.reduce(sum_using_reduce, number))
【问题讨论】:
-
reduce()需要一个可迭代的 (list, str, ...) 作为第二个参数,但number是一个 int(不可迭代) -
我收到此错误:TypeError: sum_using_reduce() 采用 1 个位置参数,但给出了 2 个
-
同时尝试使用 number = '104'
-
docs.python.org/fr/3/library/functools.html#functools.reduce 似乎函数必须需要两个参数。也许试试
def sum_using_reduce(a,b): return int(a)+int(b)
标签: python-3.x reduce one-liner