擅长:python、mysql、java
<p>以下是一个适用于所有值的版本:</p>
<pre><code>levElev = [-4000, 0, 4000, 9600, 17600, 26600, 33600]
elemZ = [-3000, -4000, 1, 18000, 1000, 7000, 27000 , 33600 , 40000, 3500, 5000]
lowestElev = []
for z in elemZ:
for i in range(0, len(levElev) - 1):
if z < levElev[i+1]:
lowestElev.append(levElev[i])
break
else:
lowestElev.append(levElev[-1])
</code></pre>
<p>结果:</p>
<pre><code>[-4000, -4000, 0, 17600, 0, 4000, 26600, 33600, 33600, 0, 4000]
</code></pre>
<p>这个<code>else</code>技巧是一件很值得了解的事情。Python有一件很酷的事情,并非所有语言都有。它说“如果你一直在迭代过程中,从不调用<code>break</code>,那么就这样做。”</p>