首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >元组的平均元组

元组的平均元组
EN

Stack Overflow用户
提问于 2012-09-14 02:29:57
回答 3查看 19.5K关注 0票数 2

在一般意义上,我如何对元组元组中的值进行平均,以便:

代码语言:javascript
复制
(1,2,3),(3,4,5)

变成:

代码语言:javascript
复制
(2,3,4)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-14 02:39:29

您可以像这样使用zip

代码语言:javascript
复制
In [1]: x = ((1, 2, 3), (4, 5, 6))

In [2]: [sum(y) / len(y) for y in zip(*x)]
Out[3]: [2, 3, 4]

另一种方法是在元组中使用超过2个元组的lambda,并产生浮点型而不是整型:

代码语言:javascript
复制
>>> x = ((10, 10, 10), (40, 55, 66), (71, 82, 39), (1, 2, 3))
>>> print tuple(map(lambda y: sum(y) / float(len(y)), zip(*x)))
(30.5, 37.25, 29.5)
票数 17
EN

Stack Overflow用户

发布于 2012-09-14 02:37:20

代码语言:javascript
复制
x = ((1,2,3),(3,4,5))

from numpy import mean  # or write your own mean function
tuple(map(mean, zip(*x)))
# (2.0, 3.0, 4.0)

或者:

代码语言:javascript
复制
from numpy import mean
tuple(mean(x, axis=0))
票数 12
EN

Stack Overflow用户

发布于 2021-09-22 08:56:50

代码语言:javascript
复制
  private Tuple<int, double> CalcuteAverageTulpeList(List<Tuple<int, double>> tupleParameters)
    {
        int totalLtGain = 0;
        double totalMeasured = 0;

        foreach (var tupleParameter in tupleParameters)
        {
            totalLtGain = totalLtGain + tupleParameter.Item1;
            totalMeasured = totalMeasured + tupleParameter.Item2;
        }
        int averageLtGain = totalLtGain / tupleParameters.Count();
        double averageMeasured = totalMeasured / tupleParameters.Count();
        return new Tuple<int, double>(averageLtGain, averageMeasured);
    }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12412546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档