【发布时间】:2017-08-29 10:40:52
【问题描述】:
我将l=['1','2','3','rt4','rt5'] 作为输入,并使用以下代码将其转换为l=[1,2,3,'rt4','rt5']:
def RepresentsInt(s):
try:
int(s)
return True
except ValueError:
return False
l=['1','2','3','rt4','rt5']
l=[int(l[i]) if RepresentsInt(l[i]) else l[i] for i in range(0,len(l))]
我可以使用推导改进上述代码吗?
【问题讨论】:
-
你不能在表达式中使用异常处理(列表推导是一个表达式,只能包含其他表达式),所以你想要的是不可能。您可以将自己限制为仅包含数字的字符串并使用
str.isdigit(),但这并不完全相同。
标签: python list list-comprehension