Python 连续计算平均值?

Python 连续计算平均值?,python,mean,calculation,continuous,Python,Mean,Calculation,Continuous,我的应用程序在一段时间内会出现一系列数字,例如:[10,8,11,9,10,8,8,11,9,8,10,11] 我知道我可以使用统计信息计算这些值的平均值。平均值(x),但这需要我存储我得到的所有值 现在的问题是:有没有一种方法可以在每次我得到一个新值时计算所有值的平均值,而不存储每个值 应该是这样的: 新值:10->平均值:10 新值:8->平均值:9 新值:11->平均值:9,6 等等 编辑:我可能只需要将所有值相加,然后计算得到的值 是的,只需保留到目前为止的总和和数字数量即可 def i

我的应用程序在一段时间内会出现一系列数字,例如:
[10,8,11,9,10,8,8,11,9,8,10,11]

我知道我可以使用
统计信息计算这些值的平均值。平均值(x)
,但这需要我存储我得到的所有值

现在的问题是:有没有一种方法可以在每次我得到一个新值时计算所有值的平均值,而不存储每个值

应该是这样的:

新值:10->平均值:10

新值:8->平均值:9

新值:11->平均值:9,6

等等


编辑:我可能只需要将所有值相加,然后计算得到的值

是的,只需保留到目前为止的总和和数字数量即可

def init_running_average():
    int total = 0
    int count = 0

    def add_number(x):
        nonlocal total, count

        count += 1
        total += x

        return total/count
    return add_number

avg = init_running_average()
print(avg(10)) # 10
print(avg(8)) # 9

它适用于Java,但算法是一样的:你有正确的概念,求和和和计数总是允许你计算平均值。当新值出现时,将其添加到总和中,并将计数增加1