[英]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.