python - 从 for 循环中获取平均值

标签 python python-2.7 for-loop

对 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/

相关文章:

python - 在 Python 中写入和读取相同的 csv 文件

java - 从变量中获取变量列表

python - 如何创建一个 for 循环来初始化我的类的对象,而不是一个一个地初始化

python - Osmnx 中给定边缘属性的测量/尺寸单位是什么

python-2.7 - Python-网络x : Neighbours with certain weight

python - 在Python中,isinstance()可以用来检测类方法吗?

python - 由于文件名而无法导入文件

python - 神秘的 IndexError - 非常基本的问题(Python)

python - python 2 和 3 之间的列表理解差异

python - 如何将引号合并到用户输入中?