透過索引存取多個清單元素
根據索引從清單中選擇特定元素是程式設計中的常見運算。在這個問題中,使用者尋求一種最佳方法來建立一個新列表,其中包含預定義索引處給定列表中的元素。
使用者迭代索引並單獨存取每個元素的方法是一個簡單的解決方案。然而,還有一些更有效或更簡潔的替代方法。
建議的一個替代方法是使用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]
值得注意的是,使用者目前的解決方案也是有效且合理的。不同方法之間的選擇取決於個人喜好和使用這些方法的特定環境。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3