擅长:python、mysql、java
<p>您可以使用列表理解并检查每个元素:</p>
<pre><code>var = [1,2,-3,4]
var = [(i if i > 0 else 0) for i in var]
print(var) # [1, 2, 0, 4]
</code></pre>
<p>为了好玩,我对所有不依赖第三方库的当前答案进行了计时:</p>
<pre><code>import timeit
print( timeit.timeit( "[(i if i > 0 else 0) for i in var]", setup="var = [1,2,-3,4]", number=1000000 ) )
# 0.6322694380378722
print( timeit.timeit( "[0 if item < 0 else item for item in var]", setup="var = [1,2,-3,4]", number=1000000 ) )
# 0.6328021787321703
print( timeit.timeit( "[max(i,0) for i in var]", setup="var = [1,2,-3,4]", number=1000000 ) )
# 1.4293624092194928
</code></pre>