python列表内的类型转换

 椒桥头_671 发布于 2022-11-02 22:16

大家好,我尝试用下面的方法在一个存储了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 
    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里用调试的时候没有问题,直接运行就报上面的错误,请问要如何解决?谢谢

2 个回答
  • 最好对int()对象类型进行检查,例如通过字符串的isnumeric()方法检测:

    pass_list = [int(item) for item in data_list if item.isnumeric()]
    2022-11-04 21:19 回答
  • 报这个错说明你的data_list存在不能转换成int的值,比如空串或是None之类的,仔细检查data_list的值

    2022-11-04 21:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有