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

3 篇文章 0 订阅
2 篇文章 0 订阅
问题场景:

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]
>>> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值