1

我有一个问题,我试图解决这个问题。

我有一个产生元组的函数。我试图用这种方法将它们存储在一个数组中

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

显然python不会以这种方式存储变量。我怎样才能将一组元组存储在一个变量中,然后将它们平均出来?

4

2 回答 2

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)
于 2013-04-08T00:29:49.553 回答
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”这个名字也是一个很糟糕的选择。特别是考虑到它不是一个集合。

于 2013-04-08T00:50:02.827 回答