<p>假设我想将字符串列表转换为整数,但不能对所有元素都这样做。你知道吗</p>
<p>我知道这很管用:</p>
<pre><code>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]
</code></pre>
<p>但是有没有一种更简单的方法呢?我想到了这样的事情:</p>
<pre><code>b = [try int(k) for k in a]
</code></pre>
<p>这听起来像是一个愚蠢的问题,因为我确实有一个工作的解决方案,但我经常被显示出做同样的事情,并总是感谢这种帮助简短的方法。我使用的是python2.7</p>
<p>谢谢!你知道吗</p>
<p>编辑:对不起,我刚才也在说浮点。我刚修改了示例数据</p>
<p>试试这个。你知道吗</p>
<pre><code>def is_number(k):
try:
float(k)
except ValueError:
return False
return True
[int(float(k)) for k in a if is_number(k)]
</code></pre>