我以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))]
我能用理解来改进上面的代码吗?在
Tags:
您可以使用以下代码来获得所需的结果。在
您可以更改您的
RepresentsInt
函数,以实际返回整数(如果可能),这样做会更容易:然后转换列表的代码可以写成(使用
^{pr2}$for item in l
循环可能比迭代索引要好):或者,如果您希望作为可重用的模式,您仍然需要一个helper函数(我在这里选择了一种类似于decorator的方法),因为您不能在理解中使用}:
try
和/或{现在还不清楚你想要什么,但可能是:
相关问题 更多 >
编程相关推荐