<p>我试图计算阈值为4的两个元组列表的欧几里德距离。如果阈值小于特定值,则递增计数器。每个元组是点的x,y,z坐标。不管怎样,我能把列表1和列表2的比较降低一点吗。。在</p>
<pre><code> X = [ (1,2,3),(2,3,4), (4,5,6) ]
Y = [ (1,2,2) , (3,4,5),(6,7,8) ]
from math import sqrt
dist_X = [ sqrt((p[0] - 0)**2 + (p[1] - 0)**2 + (p[2] - 0)**2) for p in X]
dist_Y = [ sqrt((p[0] - 0)**2 + (p[1] - 0)**2 + (p[2] - 0)**2) for p in Y]
for x in dist_X:
print (x , [ i for i,y in enumerate(dist_Y) if abs(x-y) <= 4])
</code></pre>
<p>我想先计算原点(0,0,0)上每个点的欧几里德距离,这样两个列表现在都包含了彼此接近的点,但它不起作用,因为它是一个标量值。。我走的方向对吗?在</p>
<p>编辑</p>
^{pr2}$
<p>在这里,列表1的每个元素都与列表2中的每个元素进行比较。。我想知道是否有一种方法可以最大限度地减少比较给定的点(x,y,z)?在</p>