【发布时间】:2021-12-08 06:10:11
【问题描述】:
#vl = [40.08, 36.6, 41.0, 35.2, 41.0]
indices = []
for x in vl:
if x == max(vl):
indices.append(vl.index(x))
print(indices)
**这里最大元素 41 在列表中的索引 2 和 4 处出现了 2 次。因此,这些索引应该附加到列表索引中。我得到的输出是 [2,2] 而不是 [2,4]。谁能告诉我这段代码有什么问题? **
【问题讨论】:
-
.index还返回列表中值的第一个索引。由于值相等,因此两次返回相同的索引。 -
@MegaIng 谢谢!请告诉我我可以在这里使用哪种方法来获得我正在寻找的输出。提前致谢!
-
for x in range(len(vl)): if vl[x] == max(vl): indices.append(x) print(indices)
-
????????上面的代码对我有用
-
查看
enumerate(vl)
标签: python-3.x list loops