繁体   English   中英

Python:使用索引列表对列表进行切片的有效方法

[英]Python: an efficient way to slice a list with a index list

我希望知道一种有效的方法和代码保存来切割数千个元素的列表

例:

b = ["a","b","c","d","e","f","g","h"] 
index = [1,3,6,7] 

我希望得到如下结果:

c = ["b","d","g","h"] 

使用列表执行此操作的最直接方法是使用列表解析:

c = [b[i] for i in index]

但是,根据您的数据究竟是什么样以及您需要使用它做什么,您可以使用numpy数组 - 在这种情况下:

c = b[index]

会做你想要的,并且会避免大切片的潜在内存开销 - numpy数组比列表更有效地存储,切片将视图放入数组而不是制作部分副本。

暂无
暂无

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

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