Python:我如何获得一组元组的平均值?

时间:2013-04-08 00:25:34

标签: python

我试图解决这个问题时遇到了问题。

我有一个产生元组的函数。我尝试将它们存储在此方法的数组中

while(loops til exhausted)
    count = 0
    set_of_tuples[count] = function(n,n,n)
    count = count + 1

显然python不会以这种方式存储变量。如何在变量中存储一组元组然后将它们取平均值?

2 个答案:

答案 0 :(得分:1)

您可以通过几种方式存储它们。这是一个:

set_of_tuples = []
while `<loop-condition>`:
    set_of_tuples.append(function(n, n, n))

如果您想逐个元素地平均结果,您可以:

average = tuple(sum(x[i] for x in set_of_tuples) / len(set_of_tuples)
                for i in range(len(set_of_tuples[0])))

如果这是数字数据,您可能想要使用Numpy。如果您使用的是Numpy数组,那么您只需:

average = numpy.average(arr, axis=0)

答案 1 :(得分:1)

嗯,你的伪代码根本不是Python。你可能想看一些更像的东西:

## count = 0
set_of_tuples = list()
while not exhausted():
    set_of_tuples.append(function(n,n,n))
    ## count += 1
count = len(set_of_tuples)

然而,这里的计数是多余的,因为如果我们想要的话,我们可以在循环之后只需* len(set_of_tuples)*。名称“set_of_tuples”也是一个相当糟糕的选择;特别是考虑到它不是一套。