繁体   English   中英

Python:创建变量以对每个值进行处理后,如何在列表中添加值?

[英]Python: How do I add up values in a list after creating a variable to do something with each value?

我为标题措辞不佳表示歉意,但对于Python和一般的编码我还是很陌生。 我以为我的问题很简单,但是我一直无法找到所需的帮助。 这是我现在拥有的代码:

for i in xList:
    dif == (xList[i+1] - i)

我想做的是获取列表中的所有值,找到每个值之间的差异,然后找到平均差异。 请提供任何帮助。 感谢您的时间!

平均差异是差异的总和除以计数。

count = len(xList) - 1
total_diff = 0
for i in range(count):
    a = xList[i]
    b = xList[i+1]
    total_diff += abs(a - b) # absolute value, so negatives don't cancel positives

print(total_diff / count)

zip使得查看列表中的每个连续对元素变得很容易:

diff_sum = 0
for a, b in zip(xlist, xlist[1:]):
    diff_sum += abs(b-a)

您甚至可以使用生成器表达式和内置的sum进一步折叠它:

diff_sum = sum(abs(b-a) for a,b in zip(xlist, xlist[1:]))

现在除以列表长度减去1:

ave_diff = diff_sum / (len(xlist)-1)

(当然,单元素列表将为您除以零,因此请注意这一点。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM