9

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

例子:

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

我希望结果如下:

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

1 回答 1

17

使用列表最直接的方法是使用列表推导:

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

但是,根据您的数据的具体外观以及您还需要对它做什么,您可以使用 numpy 数组 - 在这种情况下:

c = b[index]

会做你想做的事,并且会避免大切片的潜在内存开销 - numpy 数组比列表更有效地存储,切片可以查看数组而不是制作部分副本。

于 2012-10-07T11:45:18.493 回答