我想知道一种有效的方法和代码保存,以便对1000个元素的列表进行切片。
例子:

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数组比列表存储效率更高,切片将视图带入数组而不是进行部分复制。

09-10 08:20
查看更多