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

所以,我有 2 个列表,一个包含对象,另一个包含我想要的第一个对象的索引。

我想知道C# 中是否有办法根据存储在另一个列表中的索引获取子列表?

我是 Linq 的新手,谷歌还没有回答我。

还有什么是Python -ic 这样做的方式?


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


List<int> IndexList;

List<int> ObjList;

List<int> subList;



foreach ( var index in IndexList )

    subList.Add(ObjList[index]);


holdtom
浏览 241回答 2
2回答

明月笑刀无情

您可以编写一个包含索引和项目的查询,以便您可以查看是否IndexList包含索引,并且只选择那些项目:List<int> subList = ObjList&nbsp; &nbsp; .Where((item, index) => IndexList.Contains(index))&nbsp; &nbsp; .ToList();

LEATH

items = ["a","b","c"]indexes = [1,2]mappedList = list(filter(lambda item: items.index(item) in indexes, items))print(mappedList) # prints: ['b', 'c']用 python 实现补充 Rufus L 的 c# 答案。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python