擅长:python、mysql、java
<p>正如其他回答者和评论者所指出的,问题的内在互动性使得没有for循环的解决方案变得不明显。在</p>
<p>简化此问题的另一种方法是:</p>
<pre><code>import numpy as np
a = np.array([1, 1, 1, 1, 0, 1, 0, 1, 0])
n = 2
for i in range(a.shape[0]):
i0 = i - 2 if i >= 2 else 0
if 1 in a[i0:i]:
a[i] = 0
print(a)
# [1 0 0 1 0 0 0 1 0]
</code></pre>