首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python enumerate(),float对象不可迭代

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

Stack Overflow用户
提问于 2012-08-30 13:26:24
回答 4查看 2.1K关注 0票数 0

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

代码语言:javascript
复制
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]

回溯(最近一次调用):TypeError:'float‘对象中的文件"",第1行,不可迭代

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-30 13:30:23

首先,我认为你应该使用enumerate(a)而不是enumerate(b),因为b就是最大浮点数。

其次,你也可以这样做:

代码语言:javascript
复制
maxIndex = a.index(b)
票数 5
EN

Stack Overflow用户

发布于 2012-08-30 13:29:41

max(a)返回单个最大值-它根本不返回列表(或任何可迭代的内容)。因此,您不能对其使用enumerate。

票数 2
EN

Stack Overflow用户

发布于 2012-08-30 13:32:17

一行:

代码语言:javascript
复制
maxpos = max(enumerate(a), key=lambda p: p[1])[0]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12190380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档