TypeError: unsupported operand type(s) for +: ‘int‘ and ‘list‘

问题场景:

python 中,将二维数组转为一维数组时,sum() 报错

TypeError: unsupported operand type(s) for +: ‘int’ and ‘list’

执行代码:

sum([[1], ['a', 'b'], [2.3, 4.5, 6.7]])

原因分析:

因为嵌套list,而sum函数按第一层的两个list元素进行相加,list不支持向量加减法所以报错。

解决方案:

引入 numpy 模块:

from numpy import *

numpy 重写了 sum() 方法,会自动转换参数为array,所以求和就可以计算了。

重新执行后结果:

>>> sum([[1], ['a', 'b'], [2.3, 4.5, 6.7]])
[1, 'a', 'b', 2.3, 4.5, 6.7]
>>> 

你可能感兴趣的:(Python,错误记录,技术,python,开发语言)