簡體   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