實現minimax 等演算法時,確定列表中最大或最小元素的索引清單至關重要。 Python 內建的 max() 和 min() 函數提供了這些值,但它們並沒有指示對應的索引。
例如,考慮在清單中找出最小值及其索引 = [3, 6、1、5]。使用 min(values) 返回 1。要取得該最小值的索引,我們可以利用以下技術:
<code class="python">values = [3, 6, 1, 5] index_min = min(range(len(values)), key=values.__getitem__)</code>
此方法涉及建立一個與列表值的長度相對應的索引範圍。使用key函數,我們指定最小值的選擇應該是基於values中每個索引處的項目。結果index_min將是最小元素的索引。
<code class="python">import numpy as np values = [3, 6, 1, 5] index_min = np.argmin(values)</code>
如果numpy是可用的依賴項,我們可以使用argmin(),它直接提供最小值的索引。不過,這需要將 Python 列表轉換為 numpy 數組,這涉及到額外的記憶體副本。
基準測試表明,使用 key 函數的方法 1 通常比方法 2 更快使用 numpy 的 argmin(),特別是對於較小的列表。然而,對於較大的列表,由於最佳化的向量化計算,numpy 的 argmin() 可能會更有效。
以上是如何找到 Python 清單中最大或最小元素的索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!