假设我想将字符串列表转换为整数,但不能对所有元素都这样做。你知道吗
我知道这很管用:
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]
这听起来像是一个愚蠢的问题,因为我确实有一个工作的解决方案,但我经常被显示出做同样的事情,并总是感谢这种帮助简短的方法。我使用的是python2.7
谢谢!你知道吗
编辑:对不起,我刚才也在说浮点。我刚修改了示例数据
如果你想把
try-except
压缩成一行,那么我认为答案是here,答案是^{strong>否。 我将使用regex
和isinstance
的混合检查它捕获所有数字类型,例如float、long、int和complex-如果您只想捕获
floats
-如果只想捕获
int
-试试这个。你知道吗
在列表理解中没有办法使用
try/except
子句,但这有助于:输出:
这可能会有所帮助,但我不知道使用它有多好/准确:
输出:
相关问题 更多 >
编程相关推荐