所以我需要编写并测试一个函数,该函数返回列表中最大元素的索引(或者,如果有几个元素具有最大值,则是第一个元素的索引)并且我不允许使用最大功能。
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
答案 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])
喝彩!