Python最后三个项目在流中

时间:2014-02-27 20:10:27

标签: python

我有一个超声波ping传感器从Python获取输出。这个读数是在

while True:

所以显然永远不会停止。

该数据设置为名为'ping_out'的var。我需要从ping_out获取最后三个读数并对它们求平均值,以便得到一个名为ping_average的var。我怎么能这样做?

谢谢!

1 个答案:

答案 0 :(得分:4)

使用长度为3 deque的对象:

from collections import deque
last3 = deque(maxlen=3)

while True:
    last3.append(this_ping)  # <-- insert your ping here, of course
    avg = sum(last3) / len(last3)
    print avg