Есть ли способ pythonic для создать список, содержащий среднюю некоторую функцию?
Прочитав веселый маленький кусочек о марсиане, черных ящиках и распределении Коши, я подумал, что было бы интересно рассчитать пробег среднее значение распределения Коши:
import math
import random
def cauchy(location, scale):
p = 0.0
while p == 0.0:
p = random.random()
return location + scale*math.tan(math.pi*(p - 0.5))
# is this next block of code a good way to populate running_avg?
sum = 0
count = 0
max = 10
running_avg = []
while count < max:
num = cauchy(3,1)
sum += num
count += 1
running_avg.append(sum/count)
print running_avg # or do something else with it, besides printing
Я думаю, что этот подход работает, но мне любопытно, может ли быть более элегантный подход к созданию этого списка running_avg
, чем использование циклов и счетчиков (например, ).
Есть несколько связанных вопросов, но они адресуют более сложные проблемы (размер небольшого окна, экспоненциальный вес) или не относятся к Python: