python – TypeError:Reduce()没有初始值的空序列

python – TypeError:Reduce()没有初始值的空序列,第1张

概述我正在尝试编写一个函数,它将为我提供一个元组,其0索引是该文件中的行数,其1索引是该文件中的字符数.到目前为止,我有一个元组列表,如下所示: mapped = [(1, 50), (1, 11), (1, 58)] 我想写的这句话是这样的: reduce(lambda x:(x[0]+y[0], x[1]+y[1]),(i for i in mapped)) 如果它正常工作,那么它应该返回(3,1 我正在尝试编写一个函数,它将为我提供一个元组,其0索引是该文件中的行数,其1索引是该文件中的字符数.到目前为止,我有一个元组列表,如下所示:

mapped = [(1,50),(1,11),58)]

我想写的这句话是这样的:

reduce(lambda x:(x[0]+y[0],x[1]+y[1]),(i for i in mapped))

如果它正常工作,那么它应该返回(3,119)的元组.但是,我收到了错误

TypeError: reduce() of empty sequence with no initial value

任何人都可以弄清楚为什么会这样吗?

解决方法 使用这种方式:

>>> reduce(lambda x,y:(x[0]+y[0],[i for i in mapped])(3,119)>>> reduce(lambda x,(i for i in mapped))(3,119)

你错过的是lambda应该有两个参数,你只需要一个.

对于python3.x,请参阅以下代码:

>>> from functools import reduce>>> reduce(lambda x:(x[0]+y[0],(i for i in mapped))Traceback (most recent call last):  file "<stdin>",line 1,in <module>TypeError: <lambda>() takes exactly 1 positional argument (2 given)>>> reduce(lambda x,119)
总结

以上是内存溢出为你收集整理的python – TypeError:Reduce()没有初始值的空序列全部内容,希望文章能够帮你解决python – TypeError:Reduce()没有初始值的空序列所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存