C# 如何根据另一个列表中的索引从列表中获取子列表? 所以,我有两个列表,一个包含对象,另一个包含我想要的第一个列表中的对象的索引。

C# 如何根据另一个列表中的索引从列表中获取子列表? 所以,我有两个列表,一个包含对象,另一个包含我想要的第一个列表中的对象的索引。,c#,python,linq,C#,Python,Linq,我想知道在C#中是否有方法根据另一个列表中存储的索引获取子列表? 我是Linq的新手,谷歌还没有回答我。 还有,Python的-ic方法是什么 当然,我已经在使用简单的循环来实现这一点 List<int> IndexList; List<int> ObjList; List<int> subList; foreach ( var index in IndexList ) subList.Add(ObjList[index]); 列表索引列表;

我想知道在C#中是否有方法根据另一个列表中存储的索引获取子列表?
我是Linq的新手,谷歌还没有回答我。
还有,Python的-ic方法是什么

当然,我已经在使用简单的循环来实现这一点

List<int> IndexList;
List<int> ObjList;
List<int> subList;


foreach ( var index in IndexList )
    subList.Add(ObjList[index]);
列表索引列表;
列表对象列表;
列表子列表;
foreach(索引列表中的var指数)
添加子列表(对象列表[索引]);

您可以编写一个包含索引和项目的查询,以便查看
IndexList
是否包含索引,并仅选择这些项目:

List<int> subList = ObjList
    .Where((item, index) => IndexList.Contains(index))
    .ToList();
列表子列表=对象列表
.其中((项目,索引)=>IndexList.Contains(索引))
.ToList();

用python实现补充Rufus L的c#答案。

python的最佳解决方案:

[sublist[i] for i in indexlist]

所以你想要Python还是C#?如果可能的话,两者都是:D,,我要求的是知识的乐趣,正如我已经说过的,我正在使用循环方式(在C#代码中,如我提供的示例)谢谢你,这正是我要找的,但我不能投票支持你(低声誉)!
[sublist[i] for i in indexlist]