Python报错:int() argument must be a string, a bytes-like object or a number, not 'list'

报错信息

学习《机器学习实战》这本书时,按照书上的代码运行,产生了错误,但是在代码中没有错误提示,产生错误的代码如下:

    sortedClassCount = sorted(classCount.iteritems(),key = operator.itemgetter(1), reverse = True) #排序

报错如下:

 

错误原因

首先我们先看一下报错:

TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'

翻译过来是:

类型错误:int()参数必须是字符串、对象或数字之类的字节,而不是“list”

报错位置为:

classNumberStr = int(fileStr.split('_'))[0]

通过对源代码的分析,原因是参数传错了。

根本原因在于:上面这一条代码有问题 ,导致参数传输错误。

 

解决方案

将代码改为如下:

classNumberStr = int(fileStr.split('_')[0])

然后运行就可以啦!

给大家的忠告:一定要细心,一定要细心,特别是Python,没有C++那么规范,缩进都要认真

 

 

 

 

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值