python列表内的类型转换
问题描述
大家好,我尝试用下面的方法在一个存储了unciode类型数字的列表内直接做int转换,代码和错误信息如下:
pass_list = [int(item) for item in data_list] Traceback (most recent call last): File 'C:/Projects/pycharm/query_mongo/query_mongo.py', line 183, in <module> verify_pass_id_in_plane(collect_name1, collect_name2) File 'C:/Projects/pycharm/query_mongo/query_mongo.py', line 123, in verify_pass_id_in_plane pass_list = [int(item) for item in data_list]ValueError: invalid literal for int() with base 10: ’’
data_list里保存的数据类似这样, [u’149, u’150’], 我想得到一个[149,150]这样的list, 用pycharm里用调试的时候没有问题,直接运行就报上面的错误,请问要如何解决?谢谢
问题解答
回答1:报这个错说明你的data_list存在不能转换成int的值,比如空串或是None之类的,仔细检查data_list的值
回答2:最好对int()对象类型进行检查,例如通过字符串的isnumeric()方法检测:
pass_list = [int(item) for item in data_list if item.isnumeric()]
相关文章:
1. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题3. MYSQL新建用户设置可以远程访问的问题4. mysql多表联合查询优化的问题5. 数据库设计 - MySQL数据库主键问题6. MySQL中的enum类型有什么优点?7. linux - 为什么我在mysql的my.cnf下找不到bind-address?8. node.js - 我想让最后进入数据库的数据,在前台最先展示,如何做到?9. mysql字符串排序问题10. mysql 5.7单表300万数据,性能严重下降,如何破?
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)