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

新手

我有两个清单:

List1 has values like: "A, A, A, A, B, B, B, B, C, C, C, C, C... so on
List2 has values like: "0, 1, 2, 2, 1.1, 1.2, 1.3, 4, 4, 4, 4.... so on

我想获取具有说B的值的List1的索引,并在List2中找到对应的值。我正在做的是获取List1的开始和结束索引,其中值是B。而不是遍历list2的那些索引并获取值。这似乎是太多的工作和大量的开销。有没有更好的方法来使用linq做到这一点?

我用了这个:varlist1Values = list1.FindAll(x => x.Contains("B"));这给了我B的值,这之后我被困住了,就像我如何从此之后得到list2的对应值?作为findAll甚至不给索引。一种想法是循环遍历list1Values的索引并获取list2值,但不认为这是正确的方法。

艾哈迈德·法格

如果两个列表的长度相同,则可以Zip用来配对两个序列中的相应项目:

var target = "B";
var result = list1.Zip(list2, (x,y) => Tuple.Create(x,y))
                  .Where(o => o.Item1 == target);

foreach(var item in result)
{
    Console.WriteLine(item.Item2);
}

我用了Tuple,所以Item1从信list1Item2在相应的项目list2当然,您可以使用匿名类型,并改用更有意义的名称。

更新:我刚刚注意到您用C#-3.0标记了这个问题。在这种情况下,请使用以下解决方案。ZipTuple在.NET 4.0中引入。下面的解决方案使用Select.NET 3.5中可用方法。两种解决方案都使用LINQ,因此您需要添加名称空间:using System.Linq;

另一种解决方案是使用重载Select方法来获取目标字母的索引,然后基于这些索引从第二个列表中获取项目。

var target = "B";
var targetIndices = list1.Select((o, i) => new { Value = o, Index = i })
                         .Where(o => o.Value == target);
var query = targetIndices.Select(o => list2[o.Index]);

foreach(var item in query)
{
    Console.WriteLine(item);
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

使用linq从另一个列表获取的索引值过滤一个列表

来自分类Dev

将列表的第一个元素与另一个列表进行比较

来自分类Dev

Python,第一个列表索引-上一个列表索引,然后打印

来自分类Dev

在定义第一个功能之前,在另一个功能中使用一个功能

来自分类Dev

如何用另一个列表更新子列表的第一个值

来自分类Dev

按键对列表进行排序并以与第一个相同的方式对另一个列表进行排序?

来自分类Dev

使用另一个列表值的键动态获取一个列表值

来自分类Dev

从第一个列表中获取相应的值并添加到 python 中的另一个列表

来自分类Dev

生成列表,但仅显示第一个索引

来自分类Dev

如何根据另一个列表中的索引从列表中获取子列表?

来自分类Dev

如何将值从一个列表移动到另一个列表,同时将其从第一个列表中删除

来自分类Dev

如果第一个列表包含另一个列表的一部分,则与第二个列表相交

来自分类Dev

获取包含另一个列表的项目列表

来自分类Dev

SQL获取分配的列表的第一个

来自分类Dev

如何获取列表中的第一个标签?

来自分类Dev

当列表索引超出范围时,Linq获取第一个或最后一个元素

来自分类Dev

获取包含值的第一个子列表的索引的最快方法

来自分类Dev

获取布尔列表中第一个真值的索引

来自分类Dev

我如何获取数组的返回列表中的第一个索引的值

来自分类Dev

获取包含值的第一个子列表的索引的最快方法

来自分类Dev

在另一个列表中查找一个列表的值的索引

来自分类Dev

按索引将一个列表中的值插入另一个列表

来自分类Dev

从另一个列表创建一个列表,并按某些索引过滤

来自分类Dev

根据另一个列表中的索引汇总一个列表中的元素

来自分类Dev

将一个列表中的 8 个元素拆分为另一个 C# 的第一个元素

来自分类Dev

PHP:在第一个函数内的另一个函数中使用函数参数吗?

来自分类Dev

查找与另一个列表对应的元素的索引

来自分类Dev

使用 C# 获取列表中每个元素的第一个索引的平均值

Related 相关文章

  1. 1

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

  2. 2

    使用linq从另一个列表获取的索引值过滤一个列表

  3. 3

    将列表的第一个元素与另一个列表进行比较

  4. 4

    Python,第一个列表索引-上一个列表索引,然后打印

  5. 5

    在定义第一个功能之前,在另一个功能中使用一个功能

  6. 6

    如何用另一个列表更新子列表的第一个值

  7. 7

    按键对列表进行排序并以与第一个相同的方式对另一个列表进行排序?

  8. 8

    使用另一个列表值的键动态获取一个列表值

  9. 9

    从第一个列表中获取相应的值并添加到 python 中的另一个列表

  10. 10

    生成列表,但仅显示第一个索引

  11. 11

    如何根据另一个列表中的索引从列表中获取子列表?

  12. 12

    如何将值从一个列表移动到另一个列表,同时将其从第一个列表中删除

  13. 13

    如果第一个列表包含另一个列表的一部分,则与第二个列表相交

  14. 14

    获取包含另一个列表的项目列表

  15. 15

    SQL获取分配的列表的第一个

  16. 16

    如何获取列表中的第一个标签?

  17. 17

    当列表索引超出范围时,Linq获取第一个或最后一个元素

  18. 18

    获取包含值的第一个子列表的索引的最快方法

  19. 19

    获取布尔列表中第一个真值的索引

  20. 20

    我如何获取数组的返回列表中的第一个索引的值

  21. 21

    获取包含值的第一个子列表的索引的最快方法

  22. 22

    在另一个列表中查找一个列表的值的索引

  23. 23

    按索引将一个列表中的值插入另一个列表

  24. 24

    从另一个列表创建一个列表,并按某些索引过滤

  25. 25

    根据另一个列表中的索引汇总一个列表中的元素

  26. 26

    将一个列表中的 8 个元素拆分为另一个 C# 的第一个元素

  27. 27

    PHP:在第一个函数内的另一个函数中使用函数参数吗?

  28. 28

    查找与另一个列表对应的元素的索引

  29. 29

    使用 C# 获取列表中每个元素的第一个索引的平均值

热门标签

归档