Python如何使用enumerate获取列表中最大值对应的全部索引?
解决方案
首先调用max()函数获取列表的最大值,再遍历enumerate()返回的索引、值对,筛选出值等于最大值的索引即可,两种实现方式如下:
方式1:列表推导式(最简写法)
a = [5, 1, 2, 3, 4, 5] max_val = max(a) # 遍历索引和值,值等于最大值时保留索引 result = [idx for idx, val in enumerate(a) if val == max_val] print(result)
运行输出:[0, 5]
方式2:对应你现有代码的遍历写法
如果你想基于你已经生成的元组列表来实现,可以参考如下代码:
a = [5, 1, 2, 3, 4, 5] a2 = enumerate(a) tuple_list = list(a2) max_val = max(a) result = [] # 遍历每个元组,元组第二位是元素值,第一位是索引 for item in tuple_list: if item[1] == max_val: result.append(item[0]) print(result)
内容的提问来源于stack exchange,提问作者seevans38
相关产品推荐
相关产品推荐

