python计算动态平均数
时间: 2024-09-09 12:14:20 浏览: 98
python 求10个数的平均数实例
Python计算动态平均数通常需要对数据流进行实时更新,而不是一次性处理所有数据。你可以使用滑动窗口或者队列等数据结构来实现实时平均值计算。这里是一个简单的例子,我们使用列表和循环来模拟滑动窗口的概念:
```python
def dynamic_average(window_size):
data = [] # 存放数据的容器
running_total = 0 # 当前总和
count = 0 # 计算窗口内元素的数量
def add_new_value(new_value):
nonlocal running_total, count
if len(data) < window_size:
data.append(new_value)
running_total += new_value
count += 1
else:
# 滑动窗口,移除第一个值,添加新的
old_value = data.pop(0)
running_total -= old_value
data.append(new_value)
running_total += new_value
count += 1
return lambda x: running_total / count if count > 0 else None # 返回一个新的函数用于添加新值并获取平均数
# 使用示例
average_function = dynamic_average(5) # 窗口大小为5
average_function(10) # 添加一个新值
average_function(20) # 添加另一个新值,会返回这两个值的平均数
阅读全文