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. linux - python 抓取公众号文章遇到验证问题2. angular.js - angular中的a标签不起作用3. javascript - 微信公号里采用七牛上传视频部分手机不能选择文件4. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?5. docker 17.03 怎么配置 registry mirror ?6. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””7. MySQL 如何从 datetime 类型的字段选择 date8. javascript - 获取标签中的字符串9. python - 怎样在linux下开发flask web应用时查看代码出错(traceback)的地方。10. sublime-text - sublime text 3中编译python(sublimeREPL),如何仅运行单行/选定部分

网公网安备