问题场景:
python 中,将二维数组转为一维数组时,sum() 报错
TypeError: unsupported operand type(s) for +: ‘int’ and ‘list’
执行代码:
原因分析:
因为嵌套list,而sum函数按第一层的两个list元素进行相加,list不支持向量加减法所以报错。
解决方案:
引入 numpy 模块:
numpy 重写了 sum() 方法,会自动转换参数为array,所以求和就可以计算了。
重新执行后结果:
>>> sum([[1], ['a', 'b'], [2.3, 4.5, 6.7]])
[1, 'a', 'b', 2.3, 4.5, 6.7]
>>>