【问题标题】:How do you count how many maximum values there are in a list?你如何计算列表中有多少个最大值?
【发布时间】:2015-12-04 04:16:52
【问题描述】:

假设我有以下列表:

list1=[1,2,4,6,8,3,2,5,8,4,2]

我想返回整数 2,因为 8 是最大值,并且列表中有两个 8。我怎样才能做到这一点?编辑:我还想假设列表中的最大数字可以是任何负数或非负数,包括零。

【问题讨论】:

    标签: list python-2.7 indexing max


    【解决方案1】:

    你可以使用这样的东西:

    list1=[1,2,4,6,8,3,2,5,8,4,2]
    print list1.count(max(list1))
    

    【讨论】:

      【解决方案2】:
      ans = 0
      mx = 0
      for x in list1:
          if x > mx:
              mx = x
              ans = 1
          elif x == mx :
              ans += 1
      
      print ans
      

      假设最大数大于0,否则你应该用负无穷大初始mx

      【讨论】:

      • 如果list1不为空,可以初始化mx = list1[0]
      【解决方案3】:
      >>> list1=[1,2,4,6,8,3,2,5,8,4,2]
      >>> x = max(list1)
      >>> l = []
      >>> for i in list1:
          if i == x:
              l.append(i)
      
      
      >>> l
      [8, 8]
      >>> len(l)
      2
      

      >>> list1=[1,2,4,6,8,3,2,5,8,4,2]
      >>> x = max(list1)
      >>> result = len(filter(lambda i: i == x, list1))
      >>> result
      2
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-04
        • 2018-11-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多