【问题标题】:Min index built-in function [duplicate]最小索引内置函数
【发布时间】:2014-08-30 08:55:35
【问题描述】:

Python 有一个内置函数 min,它返回 iterable 中的最小值。

这对于使您的代码简洁明了非常有用。然而,很多时候我发现自己实现了自己的minIndex 函数:

def minIndex(v):
    ret = -1
    for i in xrange(len(v)):
        if ret < 0 or v[ret]>v[i]:
            ret = i
    return ret

Python 是否提供 minIndex 内置实现?

【问题讨论】:

标签: python


【解决方案1】:

您可以轻松地为此使用min()

min(range(len(v)), key=v.__getitem__)

这会产生一系列索引(在 Python 2 中,xrange() 也会这样做),然后将这些索引映射到 v 中的值以确定最小值。

演示:

>>> v = [42, 81, 7, 99, -1, 1991]
>>> min(range(len(v)), key=v.__getitem__)
4

【讨论】:

  • 漂亮!我真的很喜欢这个解决方案。谢谢。
【解决方案2】:

如果您不喜欢使用__getitem__,您也可以这样做

min(range(len(v)),key=lambda x : v[x])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 2021-09-14
    • 2017-10-01
    • 2016-02-24
    • 2021-11-06
    相关资源
    最近更新 更多