sp1obj = sum((pi[i]*bnewplan1[q][i] for q in range(m))for i in range(numpatient)) 报错 TypeError: unsupported operand type(s) for +: 'int' and 'generator'怎么皆解决
时间: 2024-01-28 11:04:47 浏览: 59
关于js中for in的缺陷浅析
这个错误是因为你正在尝试将一个生成器对象与整数相加,这是不支持的操作。
要解决这个问题,你可以使用 `sum()` 函数对生成器进行求和,并将其结果赋值给一个变量,然后再将该变量与整数相加。
以下是修改后的代码示例:
```python
expr = sum(pi[i]*bnewplan1[q][i] for q in range(m) for i in range(numpatient))
sp1obj = expr + your_integer_value
```
在这个示例中,我们首先使用 `sum()` 函数对生成器求和并将结果赋值给变量 `expr`,然后将 `expr` 与整数相加并赋值给 `sp1obj`。
请确保在使用生成器对象之前正确导入所需的模块,并将 `your_integer_value` 替换为你想要相加的整数值。
阅读全文