【发布时间】:2011-09-05 19:34:08
【问题描述】:
如果我想要一个列表中的最大值,我可以写max(List),但是如果我还需要最大值的索引呢?
我可以这样写:
maximum=0
for i,value in enumerate(List):
if value>maximum:
maximum=value
index=i
但这对我来说看起来很乏味。
如果我写:
List.index(max(List))
然后它会迭代列表两次。
有没有更好的办法?
【问题讨论】:
-
“它将通过列表两次”是什么意思? List.index(max(List)) 对我有用。
-
@mwc:它将迭代列表一次以确定最大值,然后再次迭代它以找到该值的索引。
-
如果有重复的最大值,list.index() 会不会有问题?
-
@LoganYang 是的,可能有两个项目具有相同的值。
-
如果顺序不重要,你可以做类似 List.sort()[-1]
标签: python