如何在两个独立数组的两个值上执行函数

问题描述 投票:0回答:2
for value in distance_moduli_error_array:
    DM_error = (np.log(10)*(10**((distance_moduli_array/5)+1))*(value*0.2))
    list.append(distance_to_galaxies_parsecs_error, DM_error)

distance_moduli_error_arraydistance_moduli_array是两个数组,每个数组有8个值。我试图找出在两个数组中的每个值上执行存储在DM_error变量中的计算的最佳方法。我上面的代码不起作用,因为对于distance_moduli_error_array数组中的每个值,它正在对distance_moduli_array数组中的每个值进行计算,而我希望它进行1-1计算。

python
2个回答
0
投票
for x,y in zip(distance_moduli_error_array, distance_moduli_array):
    DM_error = (np.log(10)*(10**((y/5)+1))*(x*0.2))
    list.append(distance_to_galaxies_parsecs_error, DM_error)

使用zip


0
投票

假设两个数组的长度相同,您可以执行类似于C样式for循环的操作:

for i in range(len(distance_moduli_array)):
    # now access the values as distance_moduli_array[i] and distance_moduli_error_array[i]

我不太清楚你对DM_error有什么问题,因为措辞含糊不清。但是,您可以像这样在两个阵列上进行计算。

© www.soinside.com 2019 - 2024. All rights reserved.