使用linq检索具有重复项的两个列表之间的差异

理查德·麦克

我有两个列表,其中仅包含从不同来源获得的重复项。

//Duplicate 1
var Duplicate1 = list1.GroupBy(d => new { d.Name, d.Value })
    .Where(dup => dup.Count() > 1).SelectMany(dup => dup);

这将返回: {{red, red}, {red, red}, {green, green}, {green, green}}

//Duplicate 2
var Duplicate2 = list2.GroupBy(d => new { d.Name, d.Value })
    .Where(dup => dup.Count() > 1).SelectMany(dup => dup);

这将返回: {{red, red}, {red, red}, {green, green}, {green, green}, {green, green}}

我如何使用linq对这些列表进行排序,以便我所能得到的是与众不同{green, green}

懒惰

创建两个查找,然后加入这些查找,检查哪个查找对具有最多的项,然后获取等于差值的多个项:

var al = Duplicate1.ToLookup(x => x);
var bl = Duplicate2.ToLookup(x => x);

var result = al.Join(bl,  agrp        => agrp.Key, 
                                bgrp  => bgrp.Key,
                         (agrp, bgrp) => agrp.Count() > bgrp.Count() ?
                                         agrp.Take(agrp.Count() - bgrp.Count()) :
                                         bgrp.Take(bgrp.Count() - agrp.Count()))
                .SelectMany(x => x);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

合并两个具有差异值的相同类型的列表并避免重复

来自分类Dev

两个列表之间的重复项/公共元素

来自分类Dev

LINQ得到两个列表的区别->保留重复项

来自分类Dev

LINQ得到两个列表的区别->保留重复项

来自分类Dev

使用LINQ仅基于单个对象属性来获取两个对象列表之间的差异

来自分类Dev

比较两个具有重复项的文本文件并将明显的差异写入文本文件

来自分类Dev

在Python中比较两个列表列表,并找出具有相同索引的列表之间的差异

来自分类Dev

发现两个列表之间的差异

来自分类Dev

使用LINQ基于另一个属性的两个不同列表中存在的数字之间的差异

来自分类Dev

如何使用LINQ从具有重复项的列表中获得第N个最大元素?

来自分类Dev

如何使用LINQ从具有重复项的列表中获得第N个最大元素?

来自分类Dev

两个列表之间没有重复的公共元素

来自分类Dev

有条件的两个列表之间的LINQ

来自分类Dev

在Java中实现可比较项的两个已排序列表之间的差异

来自分类Dev

两个列表中唯一项的列表,彼此之间重复

来自分类Dev

使用LINQ从两个具有相同属性的不同列表创建对

来自分类Dev

使用go-cmp正确比较和发现具有导出成员的两个结构之间的差异

来自分类Dev

Linq在两个列表之间搜索

来自分类Dev

如何使用LINQ从具有特定数量项的另一个实体检索列表

来自分类Dev

如何使用LINQ从另一个具有特定数量项的实体检索列表

来自分类Dev

从MySQL中的两个表中检索重复项

来自分类Dev

从重复模式中检索两个匹配项

来自分类Dev

在SQL中查找两个表之间的重复差异

来自分类Dev

linq两个选择计数查询之间的差异

来自分类Dev

在查询中检索具有类别及其父项的类别的两个表并集

来自分类Dev

获得具有相同属性的两个对象之间的差异

来自分类Dev

获取具有其他两个之间的绝对差异的数据框

来自分类Dev

SQL:在具有非唯一特征ID的两个表之间查找差异?

来自分类Dev

具有不同节点集的两个 NetworkX 图之间的差异

Related 相关文章

  1. 1

    合并两个具有差异值的相同类型的列表并避免重复

  2. 2

    两个列表之间的重复项/公共元素

  3. 3

    LINQ得到两个列表的区别->保留重复项

  4. 4

    LINQ得到两个列表的区别->保留重复项

  5. 5

    使用LINQ仅基于单个对象属性来获取两个对象列表之间的差异

  6. 6

    比较两个具有重复项的文本文件并将明显的差异写入文本文件

  7. 7

    在Python中比较两个列表列表,并找出具有相同索引的列表之间的差异

  8. 8

    发现两个列表之间的差异

  9. 9

    使用LINQ基于另一个属性的两个不同列表中存在的数字之间的差异

  10. 10

    如何使用LINQ从具有重复项的列表中获得第N个最大元素?

  11. 11

    如何使用LINQ从具有重复项的列表中获得第N个最大元素?

  12. 12

    两个列表之间没有重复的公共元素

  13. 13

    有条件的两个列表之间的LINQ

  14. 14

    在Java中实现可比较项的两个已排序列表之间的差异

  15. 15

    两个列表中唯一项的列表,彼此之间重复

  16. 16

    使用LINQ从两个具有相同属性的不同列表创建对

  17. 17

    使用go-cmp正确比较和发现具有导出成员的两个结构之间的差异

  18. 18

    Linq在两个列表之间搜索

  19. 19

    如何使用LINQ从具有特定数量项的另一个实体检索列表

  20. 20

    如何使用LINQ从另一个具有特定数量项的实体检索列表

  21. 21

    从MySQL中的两个表中检索重复项

  22. 22

    从重复模式中检索两个匹配项

  23. 23

    在SQL中查找两个表之间的重复差异

  24. 24

    linq两个选择计数查询之间的差异

  25. 25

    在查询中检索具有类别及其父项的类别的两个表并集

  26. 26

    获得具有相同属性的两个对象之间的差异

  27. 27

    获取具有其他两个之间的绝对差异的数据框

  28. 28

    SQL:在具有非唯一特征ID的两个表之间查找差异?

  29. 29

    具有不同节点集的两个 NetworkX 图之间的差异

热门标签

归档