2016-03-14 9 views
0

Пример списка:Преобразование строковых значений списка в целое число в python: ValueError: invalid literal?

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', '', '', '', '', '', '', ''] 

Я хочу прочитать часть элементов списка, как целое число, если значение не «».

Я treied:

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

Но он встречает следующие ошибки:

ValueError: неверный буквальным для Int() с базой 10: ''

Не могли бы вы мне помочь ? Спасибо, Shiuli

ответ

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)