擅长:python、mysql、java
<p>我支持上面使用Numpy的建议。循环代码在a中的索引也比它需要的多得多。您可以使用类似于:</p>
<pre><code>import numpy as np
dimension = 10000
A = np.random.rand(dimension, 2) + 0.0
B = np.random.rand(dimension, 2) + 1.0
N = []
d = 1.0
for i in range(len(A)):
distances = np.linalg.norm(B - A[i,:], axis=1)
for j in range(len(distances)):
if distances[j] <= d:
N.append((i,j))
print(len(N))
</code></pre>
<p>要想从纯Python中获得良好的性能是相当困难的。我也会指出,更维的阵列解决方案将需要一个。。。很多。。。记忆。在</p>