代码之家  ›  专栏  ›  技术社区  ›  Meno

列表中的索引、重复次数和最大数python[重复]

  •  1
  • Meno  · 技术社区  · 2 年前

    给定一个整数列表,找出其中的最大值、最大元素数和最后一个最大值的索引。

    所以我试图找到最后一个最大值的索引,我需要使用sort,它不保留列表的顺序,我如何修复这个错误?

    a = [int(s) for s in input().split()]
    a.sort()
    if a.count(max(a)) == 1:
        print(max(a), a.count(max(a)), a.index(max(a)))
    else:
        print(max(a), a.count(max(a)), len(a)-1)
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   Aniketh Malyala    2 年前

    以下代码用于打印列表最大值的索引:

    a = [int(s) for s in input().split()]
    if a.count(max(a)) == 1:
      print(a.index(max(a)))
    else:
      ind = len(a) - 1
      while a[ind] != max(a):
        ind -= 1
      print(ind)
    

    注意:我们不需要排序 a 因为 max() 函数将查找列表的最大值,无论是否排序。

    如果列表中只有一个最大值,我们只使用 .count() 像你一样工作。

    如果有多个最大值,并且我们想要打印出最后一个出现的值,我们可以使用while循环在列表中向后迭代,直到找到一个为止。

    我希望这有帮助!如果你还有任何问题,请告诉我!