在python中将列表的字符串值转换为整数:ValueError:invalid literal?

时间:2016-03-14 13:45:07

标签: arrays string python-2.5

示例列表:

mylist=['7', '7_71_E Frastorf', '7', '7_71', '71', 'E Frastorf', '1208', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '40', '40', '41', '41', '41', '41', '41', '41', '41', '40', '37', '26', '', '', '', '', '', '', '']

如果值不是'',我想将部分列表元素读为整数。

我已经打过道了:

mylist=[int(i)for i in mylist[6:] if i!=" "]

但遇到以下错误:

ValueError:基数为10的int()的文字无效:''

你能帮帮我吗? 谢谢, Shiuli

1 个答案:

答案 0 :(得分:0)

您需要检查空字符串。此代码检查空格和空。

mylist=['7', '7_71_E Frastorf', '7', '7_71', '71', 'E Frastorf', '1208', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '41', '40', '40', '41', '41', '41', '41', '41', '41', '41', '40', '37', '26', '', '', '', '', '', '', ''] 

mylist=[int(i) for i in mylist[6:] if i.strip() != '']

print (mylist)