查找最大数量的第一个出现的索引

时间:2020-06-26 20:47:03

标签: python

Picture of the problem

我还必须使用return语句。

问题:

给出一个整数列表,返回最大数的索引。如果最大数量不是唯一的,则返回第一个实例的索引。

我们可以使用for i in range(len(input_list)):浏览列表。

3 个答案:

答案 0 :(得分:1)

这是一个解决方案:

def largest(input_list):
    return input_list.index(max(input_list))

我们在这里所做的是通过python内置的max()函数找到最大的数字。

然后,我们使用python内置的list.index()函数来查找索引。

最后,我们将其退回。

示例:

input_list = [0,1,2,3,4,4]
largest_number_index = largest(input_list)
print(largest_number_index)

输出:

4

答案 1 :(得分:1)

def max_number_index(input_list):
    idx = 0
    max_number = input_list[0]
    for i in range(1, len(input_list)):
        if input_list[i] > max_number:
            max_number = input_list[i]
            idx = i
    return idx

print(max_number_index([0,1,2,3,4]))
print(max_number_index([-2,34,-43,0,5,9]))
print(max_number_index([2,3,3,3,3]))

4
1
1

您当然可以使用for i in range(len(input_list)):,但我认为没有必要完全按照字母的指示进行操作。在这种情况下,您需要两次查看列表中的第一项,一次要设置初始值,然后再一次在循环中。

答案 2 :(得分:-1)

下面的代码将起作用-

input_list = [0,1,2,3,4,4]

def max_number_index(input_list):
    ans=0
    for i in range(len(input_list)) :
        if input_list[i] > input_list[ans]:
            ans = i
    return ans
print(max_number_index(input_list))

输出:

4

您只需要更新ans即可存储到目前为止最大数量的索引。如果当前数字的值大于input_list[ans],只需将ans更新为当前索引值。最后,返回ans以获取列表中最大元素的正确索引值。


相同代码的较短版本是-

input_list = [0,1,2,3,4,4]

def max_number_index(input_list):
    return input_list.index(max(input_list))

print(max_number_index(input_list))