实现 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中文网其他相关文章!