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. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?2. docker-compose中volumes的問題3. golang - 用IDE看docker源碼時的小問題4. docker-machine添加一個已有的docker主機問題5. docker不顯示端口映射呢?6. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!7. docker容器呢SSH為什么連不通呢?8. javascript - 最近用echarts做統計圖時遇到兩個問題!!9. docker內創建jenkins訪問另一個容器下的服務器問題10. mac里的docker如何命令行開啟呢?

網公網安備