Python enumerate(), float 对象不可迭代

Wil*_*iam 0 python

我有一个列表a,然后我max(a)用来获取最大值。下一步我试图用来enumerate()获得最大值的第一个位置。但它注意到我只能enumerate()用于 int 列表?浮动列表怎么样?有没有办法在浮点数(也有整数)列表中获得最大值的第一个位置?非常感谢

a = [1.5, 1.8, 3.1, 4.2, 5.5, 3.2, 4, 2, 1, 5.5, 3, 2.7]
b = max(a)
maxIndex = [i for i, j in enumerate(b) if j == b][0]
Run Code Online (Sandbox Code Playgroud)

回溯(最近一次调用最后一次):文件“”,第 1 行,在 TypeError 中:“float”对象不可迭代

KP.*_*KP. 5

首先,我认为您打算使用enumerate(a)not enumerate(b),因为b只是最大浮动。

其次,你还可以这样做:

maxIndex = a.index(b)
Run Code Online (Sandbox Code Playgroud)