擅长:python、mysql、java
<p>使用<code>numpy</code>将计算矢量化。对于1000000个长数组,如果输入已经是<code>numpy.ndarray</code>,那么执行时间应该是15-25ms微秒,如果输入是Python列表,那么执行时间应该是140ms。你知道吗</p>
<pre><code>import numpy as np
def mean_alt(lon, lon2, lat, lat2, alt, alt2):
lon = np.asarray(lon)
lon2 = np.asarray(lon2)
lat = np.asarray(lat)
lat2 = np.asarray(lat2)
alt = np.asarray(alt)
alt2 = np.asarray(alt2)
ind = np.where((lon == lon2) & (lat == lat2))
mean_alt = (0.5 * (alt[ind] + alt2[ind])).tolist()
return (lon[ind].tolist(), lat[ind].tolist(), mean_alt)
</code></pre>