繁体   English   中英

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

[英]How to get a SubList from a list based on indices in another List?

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

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

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

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


foreach ( var index in IndexList )
    subList.Add(ObjList[index]);

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

List<int> subList = ObjList
    .Where((item, index) => IndexList.Contains(index))
    .ToList();
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# 答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM