Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
reduce函数(用Python编写)调用;类型错误:';int';对象不可下标";但是它';It’他是按名单行事的 reduce时(λx,y:x[0]+y[0],最终赋值,0)_Python_Lambda_Reduce - Fatal编程技术网

reduce函数(用Python编写)调用;类型错误:';int';对象不可下标";但是它';It’他是按名单行事的 reduce时(λx,y:x[0]+y[0],最终赋值,0)

reduce函数(用Python编写)调用;类型错误:';int';对象不可下标";但是它';It’他是按名单行事的 reduce时(λx,y:x[0]+y[0],最终赋值,0),python,lambda,reduce,Python,Lambda,Reduce,当函数引发“TypeError:'int'对象不可下标”时,最后的_赋值是[[5100]]]。我不明白是什么问题,希望得到一些帮助。我找到了修复方法,初始值0不是列表,因此我无法添加0[0]+y[0]。 相反,lambda应根据类型选择要拾取的值: while reduce(lambda x, y: x[0] + y[0], final_assignments, 0) < min: 缩减作用于两项:先前返回的结果和下一个输入 由于结果类型是int,因此第一个参数类型必须是int: red

当函数引发“TypeError:'int'对象不可下标”时,最后的_赋值是
[[5100]]]
。我不明白是什么问题,希望得到一些帮助。

我找到了修复方法,初始值0不是列表,因此我无法添加0[0]+y[0]。 相反,lambda应根据类型选择要拾取的值:

while reduce(lambda x, y: x[0] + y[0], final_assignments, 0) < min:

缩减作用于两项:先前返回的结果和下一个输入

由于结果类型是
int
,因此第一个参数类型必须是
int

reduce(lambda x,y: x[0]+y[0] if type(x) == list else x+y[0], final_assignments, 0)
reduce时(λx,y:x+y[0],最终赋值,0)
是否要对数组求和?使用
sum()
比使用
reduce()
更简单。我甚至不知道这个函数,谢谢!无论如何,我找到了这个问题的解决方法
如果
是多余的,那么只有
else
分支将被执行-请参阅我的答案。
while reduce(lambda x, y: x + y[0], final_assignments, 0) < min: