[英]How do I get random values in a list to be unique by at least a given amount by each value in the list in 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.