如何有条件地对两个列表的字段求和

大卫

我需要对两个列表的X和Y字段求和,但是第一个ID等于第二个ID。

我的代码:

//Program.cs

//(...)

class Point
{
    public int Id { get; set; }
    public int X { get; set; }
    public int Y { get; set; }

    public Point(int _Id, int _X, int _Y)
    {
        Id = _Id;
        X = _X;
        Y = _Y;
    }
}

//(...)

List<Point> points = new List<Point>();
List<Point> sumsXY = new List<Point>();

//sum the X and Y of two lists, but points.Id must equal to sumsXY.Id
for (int i = 0; i < objcount; i++)
{
    sumsXY[points[i].Id].X = sumsXY[points[i].Id].X + points[i].X;
    sumsXY[points[i].Id].Y = sumsXY[points[i].Id].Y + points[i].Y;
}

需要帮忙。

大卫

丹尼尔·希尔加斯(Daniel Hilgarth)

您是否正在寻找这样的东西?

var sumsXY = points.GroupBy(x => x.Id)
                   .Select(g => new Point(g.Key, g.Sum(x => x.X),
                                          g.Sum(x => x.Y)))
                   .ToList();

这会将具有相同ID的所有点组合在一起,并使用该组的ID以及该组中所有点的X和Y值之和为每个组创建一个新点。

该答案假定sumsXY此操作开始时为空。如果不是这种情况,则可能需要澄清您的问题,并提供示例输入和预期输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用其他两个列表有条件地从列表中提取值?

Python; 有条件地将两个列表放在一起

使用LINQ Entity Framework有条件地从两个列表中获取数据

有条件地合并对象中的两个列表

有条件地用两个列表替换项目

如何触发两个承诺并有条件地等待一个?

如何有条件地联接两个表

如何有条件地渲染两个组件?

如何有条件地加入另外两个馆藏

如何有条件地将数组中的项目拆分为两个项目?

我如何才能有条件地连接两个不同的数组?

如何有条件地从两个不同的 Numpy 数组中选择行?

如何有条件地连接两个表

如何有条件地合并两个相同形状的Numpy数组

如何有条件地渲染两个 JSX 变量?

如何从两个不同的表中按两个不同的类别有条件地排序

有条件地对元组列表中的值求和

如何在两个列表之间的 AngularJs 中使用 ui-sortable 有条件地防止删除项目?

如何使一个类有条件地返回其他两个类之一?

有条件地减少Mongo Aggregation中的两个数组字段

有条件地将相同条件拆分为两个不同的表

如何有条件地对 Pandas 数据框求和

如何在熊猫中有条件地求和

有条件地汇总-将两个查询合并为一个

如何根据某些伯努利分布有条件地从两个不同的高斯中得出?

如何在GPU上的PyTorch中有条件地从其他两个张量构造张量?

如何在Spark中有条件地联接两个DataFrame和替换一列

如何基于其他两个列有条件地制作新的熊猫DF列

如何有条件地将JSON反序列化为枚举的两个不同变体?