如何在Python中透過索引高效存取多個清單元素?

Susan Sarandon
發布: 2024-11-21 04:24:17
原創
438 人瀏覽過

How to Efficiently Access Multiple List Elements by Index in Python?

透過索引存取多個清單元素:探索高效的解決方案

在Python 中,根據索引從清單中選擇特定元素可能是常見的要求。最近提出的一個問題解決了這種情況,提出了一個整數 a 列表和一個索引 b 列表。目標是建立一個新清單 c,其中包含與 b 中的索引相對應的 a 元素。

提供的解決方案利用列表理解來迭代b 中的索引並從a 中選擇適當的元素:

a = [-2, 1, 5, 3, 8, 5, 6]
b = [1, 2, 5]
c = [a[i] for i in b]
登入後複製

雖然這種方法完全有效,但問題是是否存在更有效的方法來實現所需的結果。

Operator.itemgetter

一個替代解決方案涉及使用Python運算子模組中的operator.itemgetter函數:

from operator import itemgetter 
a = [-2, 1, 5, 3, 8, 5, 6]
b = [1, 2, 5]
print(itemgetter(*b)(a))
登入後複製

>Numpy數組索引

對於性能至關重要的情況,NumPy 提供優化的數組處理功能:
import numpy as np
a = np.array([-2, 1, 5, 3, 8, 5, 6])
b = [1, 2, 5]
print(list(a[b]))
登入後複製

解決方案評估

值得注意的是,使用清單理解的原始解決方案仍然是一個可行的選擇。它簡潔且易於理解。 itemgetter 和 NumPy 方法雖然提供了潛在的效能優勢,但對於較小的清單或不太關心速度的情況可能有點過分了。

最終,選擇使用哪種方法取決於大小等因素清單的內容以及應用程式的特定效能要求。

以上是如何在Python中透過索引高效存取多個清單元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板