考虑我的代码
a,b,c = np.loadtxt ('test.dat', dtype='double', unpack=True)
a、b 和 c 是相同的数组长度。
for i in range(len(a)):
q[i] = 3*10**5*c[i]/100
x[i] = q[i]*math.sin(a)*math.cos(b)
y[i] = q[i]*math.sin(a)*math.sin(b)
z[i] = q[i]*math.cos(a)
我试图找到 x,y,z 中 2 个点之间差异的所有组合来迭代这个方程 (xi-xj)+(yi-yj)+(zi-zj) = r
我用这个组合码
for combinations in it.combinations(x,2):
xdist = (combinations[0] - combinations[1])
for combinations in it.combinations(y,2):
ydist = (combinations[0] - combinations[1])
for combinations in it.combinations(z,2):
zdist = (combinations[0] - combinations[1])
r = (xdist + ydist +zdist)
对于我拥有的大文件,python 需要很长时间,我想知道是否有更快的方法来获取我的数组 for r,最好使用嵌套循环?
如
if i in range(?):
if j in range(?):