Предположим, я хочу преобразовать список строк в целое число, но это невозможно сделать для всех элементов.
Я знаю, что это работает:
a = ['2.0','3.0','4.0','5.0','Cherry']
b = []
for k in a:
try:
int(k)
b.append(int(k))
except:
pass
print b
> [2, 3, 4, 5]
Но есть ли более короткий способ сделать это? Я подумал о чем-то вроде:
b = [try int(k) for k in a]
Это может показаться глупым вопросом, поскольку у меня есть работающее решение, но мне часто показывали более короткие способы сделать то же самое, и я всегда ценил такую помощь. Я использую Python 2.7
Спасибо!
Изменить: извините, я также говорил о плавающей запятой. Я просто изменил свои данные примера
int(k)
. - person deceze♦   schedule 19.11.2015except
, и особенно никогда не делайте этого только дляpass
. - person Daniel Roseman   schedule 19.11.2015