对 python 相当陌生,我有一个类似于此的 for 循环(我不会包括内容,因为它们看起来无关紧要):
for i, (A, B) in enumerate(X):
...
arbitrary calculations
...
print s1
print s2
这循环了 10 次(尽管它偶尔会有所不同),为 s1 提供了 10 个值,为 s2 提供了 10 个值。是否有一种有效的方法来找到这些值的均值?
最佳答案
您需要将每个数字附加到一个列表中,或者在找到平均值之前将它们动态相加。
使用列表:
s1_list = []
s2_list = []
for i, (A, B) in enumerate(X):
...
arbitrary calculations
...
s1_list.append(s1)
s2_list.append(s2)
s1_mean = sum(s1_list)/float(len(s1_list))
s2_mean = sum(s2_list)/float(len(s2_list))
动态添加它们:
s1_total = 0
s2_total = 0
for i, (A, B) in enumerate(X):
...
arbitrary calculations
...
s1_total += s1
s2_total += s2
s1_mean = s1_total/float(len(X))
s2_mean = s2_total/float(len(X))
使用float
,否则如果是小数,平均值将被向下舍入。
关于python - 从 for 循环中获取平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36337668/