Python:用索引列表切片列表的有效方法

发布于 2021-01-29 15:57:53

我希望知道一种有效的方法和节省代码的方法,以分割成千上万个元素

例:

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

我希望这样的结果:

c = ["b","d","g","h"]
关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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

    但是,根据确切的数据外观以及需要处理的数据,可以使用numpy数组-在这种情况下:

    c = b[index]
    

    会做您想做的事,并避免大切片的潜在内存开销-numpy数组比列表更有效地存储,切片将视图带入阵列,而不是进行部分复制。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看