使用.GroupBy删除列表重复项,并保留第一个列表的值

navig8tr

使用.GroupBy()我可以合并此列表,

AppleId    Color
----------------
1          Green
1          Red
2          Red
3          Green
4          Red
4          Green

进入此列表:

AppleId    Green   Red
------------------------
1           1       1
2           0       1
3           1       0
4           1       1

重复的AppleId记录已删除,并且“颜色”列已拆分为两个布尔列。

但是,如果我还有另一个要保留在第一个列表中的值,该怎么办?因此,第一个表现在将如下所示:

AppleId    Color     Value
-----------------------------
1          Green       Value1
1          Red         Value1
2          Red         Value2
3          Green       Value3
4          Red         Value4
4          Green       Value4

分组表如下所示:

AppleId    Green   Red     Value
-----------------------------------
1           1       1       Value1
2           0       1       Value2
3           1       0       Value3
4           1       1       Value4

这是c#列表:

var items = new List<Item>
{
    new Item {Color = "Green", Id = 1, Value = Value1},
    new Item {Color = "Red", Id = 1, Value = Value1},
    new Item {Color = "Red", Id = 2, Value = Value2},
    new Item {Color = "Green", Id = 3, Value = Value3},
    new Item {Color = "Red", Id = 4, Value = Value4},
    new Item {Color = "Green", Id = 4, Value = Value4}
};

我尝试使用这个

var q = items.GroupBy(x => x.Id)
             .Select(group => new 
                     {
                         Id = group.Key, 
                         Green = group.Any(item => item.Color == "Green"), 
                         Red = group.Any(item => item.Color == "Red"),
                         Value = x.Value
                     });

和其他一些变体,但无法使其正常工作。

masum7

试试这个:想法是通过使用id和value分组

var q = items
    .GroupBy(x => new { x.Id, x.Value})
    .Select(group => new 
             {
                 Id = group.Key.Id, 
                 Green = group.Any(item => item.Color == "Green"), 
                 Red = group.Any(item => item.Color == "Red"),
                 Value = group.Key.Value,
             });

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用.GroupBy删除列表重复项,并保留第一个列表中的值

来自分类Dev

MongoDB使用ensureIndex删除重复项,但保留最后一个条目而不是第一个条目

来自分类Dev

在JavaScript中,是否可以仅使用.filter()删除重复项(第一个实例是保留的实例)?

来自分类Dev

ReactJS使用Ajax根据第一个下拉列表选择的值填充下拉列表

来自分类Dev

如何使用jQuery链接按钮并删除列表的第一个元素?

来自分类Dev

SQL Server:使用第一个重复项中的数据更新重复项

来自分类Dev

合并 2 个列表以从第一个列表中删除重复项,同时保留第二个列表的对应值

来自分类Dev

使用jQuery获取选择列表中第一个选项的值

来自分类Dev

使用jQuery设置下拉列表上的第一个选项的值

来自分类Dev

如何使用多重处理在一个很大的列表中删除重复项?

来自分类Dev

使用jQuery比较重复项并将其从另一个列表中删除

来自分类Dev

grep使用列表查找文件中的匹配项,并仅打印列表中每个字符串的第一个匹配项

来自分类Dev

如何使用第一个列表的相应元素制作两个不同的列表?

来自分类Dev

使用递归查找列表的第一个和最后一个元素

来自分类Dev

R-使用列表中每个项目的第一个元素过滤列表

来自分类Dev

使用列表重新排列:如何引用列表中的第一个元素

来自分类Dev

SQL 删除重复项但仍保留第一个

来自分类Dev

获取具有类名的行的第一个单元格值的逗号分隔列表(使用Jquery)?

来自分类Dev

获取具有类名的行的第一个单元格值的逗号分隔列表(使用Jquery)?

来自分类Dev

在Python中使用explode()函数后,如何保留特定列的第一个值?

来自分类Dev

获取第一个列表的索引并在另一个列表中使用

来自分类Dev

获取第一个列表的索引并在另一个列表中使用

来自分类Dev

有什么方法可以使用itertools groupby删除列表中相邻的重复项,但保留原始索引吗?

来自分类Dev

一旦使用MVC 4 jQuery和AJAX从第一个下拉列表中选择一个值,如何显示项目表

来自分类Dev

使用array_search函数时数组中的第一个值重复

来自分类Dev

如何使用sed删除所有行,直到第一列中的第一个匹配项?

来自分类Dev

我只需要使用另一个列表中的重复项创建一个列表

来自分类Dev

使用Scala打印列表中的第一个元素

来自分类Dev

使用jQuery检查列表中的第一个可用/缺失ID?

Related 相关文章

  1. 1

    使用.GroupBy删除列表重复项,并保留第一个列表中的值

  2. 2

    MongoDB使用ensureIndex删除重复项,但保留最后一个条目而不是第一个条目

  3. 3

    在JavaScript中,是否可以仅使用.filter()删除重复项(第一个实例是保留的实例)?

  4. 4

    ReactJS使用Ajax根据第一个下拉列表选择的值填充下拉列表

  5. 5

    如何使用jQuery链接按钮并删除列表的第一个元素?

  6. 6

    SQL Server:使用第一个重复项中的数据更新重复项

  7. 7

    合并 2 个列表以从第一个列表中删除重复项,同时保留第二个列表的对应值

  8. 8

    使用jQuery获取选择列表中第一个选项的值

  9. 9

    使用jQuery设置下拉列表上的第一个选项的值

  10. 10

    如何使用多重处理在一个很大的列表中删除重复项?

  11. 11

    使用jQuery比较重复项并将其从另一个列表中删除

  12. 12

    grep使用列表查找文件中的匹配项,并仅打印列表中每个字符串的第一个匹配项

  13. 13

    如何使用第一个列表的相应元素制作两个不同的列表?

  14. 14

    使用递归查找列表的第一个和最后一个元素

  15. 15

    R-使用列表中每个项目的第一个元素过滤列表

  16. 16

    使用列表重新排列:如何引用列表中的第一个元素

  17. 17

    SQL 删除重复项但仍保留第一个

  18. 18

    获取具有类名的行的第一个单元格值的逗号分隔列表(使用Jquery)?

  19. 19

    获取具有类名的行的第一个单元格值的逗号分隔列表(使用Jquery)?

  20. 20

    在Python中使用explode()函数后,如何保留特定列的第一个值?

  21. 21

    获取第一个列表的索引并在另一个列表中使用

  22. 22

    获取第一个列表的索引并在另一个列表中使用

  23. 23

    有什么方法可以使用itertools groupby删除列表中相邻的重复项,但保留原始索引吗?

  24. 24

    一旦使用MVC 4 jQuery和AJAX从第一个下拉列表中选择一个值,如何显示项目表

  25. 25

    使用array_search函数时数组中的第一个值重复

  26. 26

    如何使用sed删除所有行,直到第一列中的第一个匹配项?

  27. 27

    我只需要使用另一个列表中的重复项创建一个列表

  28. 28

    使用Scala打印列表中的第一个元素

  29. 29

    使用jQuery检查列表中的第一个可用/缺失ID?

热门标签

归档