Maison  >  Questions et réponses  >  le corps du texte

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里用调试的时候没有问题,直接运行就报上面的错误,请问要如何解决?谢谢

大家讲道理大家讲道理2741 Il y a quelques jours445

répondre à tous(2)je répondrai

  • 黄舟

    黄舟2017-04-18 10:30:18

    Signaler cette erreur signifie que votre data_list contient une valeur qui ne peut pas être convertie en int, comme une chaîne vide ou None. Vérifiez attentivement la valeur de data_list

    .

    répondre
    0
  • PHPz

    PHPz2017-04-18 10:30:18

    Il est préférable de vérifier le type d'objet int(), par exemple via la méthode isnumeric() de string :

    pass_list = [int(item) for item in data_list if item.isnumeric()]

    répondre
    0
  • Annulerrépondre