列表的最大元素的索引?

时间:2013-04-09 02:05:15

标签: python list max

所以我需要编写并测试一个函数,该函数返回列表中最大元素的索引(或者,如果有几个元素具有最大值,则是第一个元素的索引)并且我不允许使用最大功能。

def largestElementIndex(lst):
    x=0
    maxNum=0
    while x+1 < len(lst):
        if lst[x] > maxNum:
            maxNum=x
        x+=1
    return maxNum

print "Program Output"
indexOfMax = largestElementIndex([1, 4, 3, 3, 2])
print 'Index Of Max Value is',indexOfMax

2 个答案:

答案 0 :(得分:5)

您需要存储最大数字和索引:

def largestElementIndex(lst):
    x=0
    maxNum=0
    maxIndex=0

    while x < len(lst):
        if lst[x] > maxNum:
            maxIndex=x
            maxNum=lst[x]
        x+=1
    return maxIndex

我还会使用for循环:

def largestElementIndex(lst):
    max_index = 0
    max_value = lst[0]

    for index, value in enumerate(lst)
        if value > max_value:
            max_index = index
            max_value = value

    return max_index

要使用max执行此操作,请以相同的方式使用enumerate

max_index = max(enumerate(lst), key=lambda pair: pair[1])[0]

答案 1 :(得分:1)

如果您不想使用max函数,也可以使用这种简单的方法:

res = lst.index(sorted(lst)[-1])

喝彩!