繁体   English   中英

如果它的索引在另一个列表上,则从列表中获取项目

[英]Get an item from a list if its index is on another list

嗯,我在网站上看,我没有找到任何可以帮助我的东西,所以我来问了。 如果它的索引在另一个列表中,我如何从列表中获取项目

例子:

我有一组向量:

[[0.0,0.0,0.1] [0.4,0.23,0.175] [0.0,1.,0.5] [0.0,0.03,0.1] [0.02,0.0,0.3]]

和索引列表:

[0,2,3]

我想要这样的结果:

[[0.0,0.0,0.1] [0.0,1.,0.5] [0.0,0.03,0.1]]

我怎样才能得到这个结果? 感谢任何帮助:)

像这样的东西

lst1 = [[0.0, 0.0, 0.1], [0.4, 0.23, 0.175], [0.0, 1., 0.5], [0.0, 0.03, 0.1], [0.02, 0.0, 0.3]]
lst2 = [0, 2, 3]
lst3 = [x for idx, x in enumerate(lst1) if idx in lst2]
print(lst3)

输出

[[0.0, 0.0, 0.1], [0.0, 1.0, 0.5], [0.0, 0.03, 0.1]]

你可以通过列表理解来做到这一点。

例如:

mylist = [[0.0,0.0,0.1], [0.4,0.23,0.175], [0.0,1.,0.5], [0.0,0.03,0.1], [0.02,0.0,0.3]]
indices = [0,2,3]
result = [mylist[i] for i in indices]

结果现在是[[0.0, 0.0, 0.1], [0.0, 1.0, 0.5], [0.0, 0.03, 0.1]]

暂无
暂无

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

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