擅长:python、mysql、java
<p>您可以使用<a href="https://docs.python.org/3/library/functions.html?highlight=all#all" rel="noreferrer">^{<cd1>}</a>内置函数来完成您的要求:</p>
<pre><code>all(i == 0 for i in a)
</code></pre>
<p><strong>示例:</strong></p>
<pre><code>>>> a = [1, 0, 0, 2, 3, 0]
>>> all(i == 0 for i in a)
False
</code></pre>
<p>但是请注意,在场景后面,<code>all</code>仍然使用for循环。<a href="https://github.com/python/cpython/blob/master/Python/bltinmodule.c#L283" rel="noreferrer">It's just implemented in C</a>:</p>
<pre class="lang-c prettyprint-override"><code>for (;;) {
item = iternext(it);
if (item == NULL)
break;
cmp = PyObject_IsTrue(item);
Py_DECREF(item);
if (cmp < 0) {
Py_DECREF(it);
return NULL;
}
if (cmp == 0) {
Py_DECREF(it);
Py_RETURN_FALSE;
}
</code></pre>
<p><strong>编辑</strong>:鉴于您最近的编辑,您可能希望使用三元运算符的列表理解:</p>
<pre><code>[1 if i == 0 else i for i in a]
</code></pre>
<p><strong>示例:</strong></p>
<pre><code>>>> a = [1, 0, 0, 2, 3, 0]
>>> [1 if i == 0 else i for i in a]
[1, 1, 1, 2, 3, 1]
</code></pre>