Python max()函数忽略max如果列表的第一项

时间:2019-06-12 13:13:04

标签: python python-3.x

我有一些代码试图识别列表中最大项目的索引。此功能可以正常使用,直到最多10个出现在列表的第一项而被忽略为止。

myList = [10,3,7,3,9]
highest = myList.index(max(myList))
print(highest)

#Outputs 4

myList = [3,10,7,3,9]
highest = myList.index(max(myList))
print(highest)

#Outputs 1

我确定这很明显,但是我似乎无法弄清为什么它忽略10,并且仅当它位于位置0时。

1 个答案:

答案 0 :(得分:0)

发布有关其他空间和格式选项的答案。
您可以在一个空文件中运行以下内容并为我提供输出吗?

def list_debugging(myList):
    print("list:", myList)
    print("max:", max(myList))
    print("max index", myList.index(max(myList)))
    maxVal = max(myList)
    print("max var:", maxVal)
    maxIndex = myList.index(maxVal)
    print("max index var:", maxIndex)
    highest = myList.index(max(myList))
    print("index of highest:", highest)
    print()


list_debugging([10, 3, 7, 3, 9])
list_debugging([3, 10, 7, 3, 9])
list_debugging(['10', '3', '7', '3', '9'])
list_debugging(['3', '10', '7', '3', '9'])

我得到和期望的输出是

list: [10, 3, 7, 3, 9]
max: 10
max index 0
max var: 10
max index var: 0
index of highest: 0

list: [3, 10, 7, 3, 9]
max: 10
max index 1
max var: 10
max index var: 1
index of highest: 1

list: ['10', '3', '7', '3', '9']
max: 9
max index 4
max var: 9
max index var: 4
index of highest: 4

list: ['3', '10', '7', '3', '9']
max: 9
max index 4
max var: 9
max index var: 4
index of highest: 4

如果您得到相同的输出,那么我认为您的程序中还有其他代码正在导致该问题,我们需要解决该问题。或者这是一个python解释器错误(不太可能,但是可能),在这种情况下,我想知道您正在运行的python版本,以便尝试重现它。