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
Run Code Online (Sandbox Code Playgroud)
Python是否提供minIndex内置实现?
您可以轻松使用min()此:
min(range(len(v)), key=v.__getitem__)
Run Code Online (Sandbox Code Playgroud)
这会产生一系列索引(在Python 2中xrange()也会这样做),然后将这些索引映射到值v以确定最小值.
演示:
>>> v = [42, 81, 7, 99, -1, 1991]
>>> min(range(len(v)), key=v.__getitem__)
4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |