reduce函数(用Python编写)调用"TypeError: 'int' object is not subscriptable"但它作用于列表列表


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

final_ assignments是CCD_;TypeError:"int"对象不可下标"。我不明白问题出在哪里,希望得到一些帮助。

我找到了修复程序,初始值0不是列表,所以我不能添加0[0]+y[0]。相反,lambda应该根据类型选择要选择的值:

reduce(lambda x,y: x[0]+y[0] if type(x) == list else x+y[0], final_assignments, 0)

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

由于结果类型是int,所以第一个参数类型也需要是int:

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

相关内容

  • 没有找到相关文章

最新更新