透過索引存取多個清單元素
根據索引從清單中選擇特定元素是程式設計中常見的操作。在這個問題中,使用者尋求一種最佳方法來建立一個新列表,其中包含預定義索引處給定列表中的元素。
使用者迭代索引並單獨存取每個元素的方法是一個簡單的解決方案。但是,還有一些更有效或更簡潔的替代方法。
建議的一種替代方法是使用operator.itemgetter 函數。此函數採用一組索引作為參數,並傳回一個可呼叫對象,該對象可應用於列表以檢索相應的元素。例如:
from operator import itemgetter a = [-2, 1, 5, 3, 8, 5, 6] b = [1, 2, 5] print(itemgetter(*b)(a)) # Result: (1, 5, 5)
另一種選擇涉及使用 NumPy 函式庫。 NumPy 提供強大的陣列操作,包括基於索引存取元素的能力。這可以使用 a[b] 語法來實現:
import numpy as np a = np.array([-2, 1, 5, 3, 8, 5, 6]) b = [1, 2, 5] print(list(a[b])) # Result: [1, 5, 5]
值得注意的是,使用者目前的解決方案也是有效且合理的。不同方法之間的選擇取決於個人喜好和使用它們的具體上下文。
以上是如何透過索引有效率地存取清單中的多個元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!