python - Python max() 函数忽略列表中第一项的最大值
问题描述
我有一些代码试图识别列表中最大项目的索引。这个功能很好,直到最大值 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 时才会忽略它。
解决方案
张贴作为额外空间和格式选项的答案。
您可以在一个空文件中运行以下内容并为我提供输出吗?
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 版本,以便我可以尝试重现它。
推荐阅读
- php - 在日期和时间 symfony 之后重定向
- express - 对 nodejs 或 expressjs 项目使用加特林?
- javascript - Material UI 的 CardHeader 动作样式
- python - 在新版本的 matplotlib 中使用 twinx 时定义纵横比
- vue.js - 如果使用全局 mixin head() 方法,则 Nuxt asyncData 结果未定义
- mysql - 适用于 php 5.6 的查询不会在 php 7 上引发错误
- c# - 如何禁用 DropShadow 或 ContentDialog 的任何阴影?UWP、XAML
- google-analytics - Google Analytics - 细分/过滤视图 - 基于自定义属性
- python - 在 pyqt 中将 Worker 对象移动到 QThread 之前设置信号和槽
- node.js - 为什么我在快递中处理的 cors 不起作用?