gpt4 book ai didi

python - 平均迭代列表

转载 作者:行者123 更新时间:2023-12-01 04:39:16 30 4
gpt4 key购买 nike

我是来自 Excel 的 Python 新手。我想要一个列表的平均值,但每个新项目的平均值。如需列表:

x = [-3.2, 2.7, -8.5, -1.4]

我已经尝试过:

avg = sum(col)/len(col)

结果为 -2.6,即整列除以总数。我希望它在每次迭代时返回平均值。我尝试过使用 for 循环:

def avg2(x):
ttl = 0
for i in x:
ttl += i
res = ttl / len(x)
return res

相同的结果,整个总和/整个列。它遍历整个列表,而不是每个值的总数。作为引用,Excel 公式为(对于 A 列中的数字):

=AVERAGE(A$1:A4)

当您将公式向下拖动到 A5 时,结果将是该迭代中的所有内容。

也许在循环中使用枚举或循环?

最佳答案

你的平均函数:

def avg(lst): return sum(lst)/len(lst)

基本上,您希望将 avg() 应用于 x 的切片。为了清楚起见,x 的切片是:

>>> x[:1]
[-3.2]
>>> x[:2]
[-3.2, 2.7]
>>> x[:3]
[-3.2, 2.7, -8.5]

使用列表理解将其应用于 x 的切片:

>>> [avg(x[:i]) for i in range(1,len(x)+1)]
[-3.2, -0.25, -3.0, -2.6]

关于python - 平均迭代列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31120372/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com