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

Python-查找最大值

  •  0
  • Learner  · 技术社区  · 6 年前

    下面是一个例子。

    data = {0: [6.6, 0.19920350542916282],
     1: [0.31000000000000005, 0.13792538097003],
     2: [1.55, 0.2935644431995964],
     3: [12.5, 0.2935644431995964]}
    
    max(data.items(), key=lambda x:x[1][1])
    
    output will be (2, [1.55, 0.2935644431995964])
    

    但是我想把输出作为 (3, [12.5, 0.2935644431995964]})

    2 回复  |  直到 6 年前
        1
  •  1
  •   bruno desthuilliers    6 年前

    然后使用 (x[1][1], x[1][0]) 元组作为键:

    >>> max(data.items(), key=lambda x:(x[1][1], x[1][0]))
    (3, [12.5, 0.2935644431995964])
    
        2
  •  1
  •   Alex Z    6 年前

    这应该起作用:

    data = {0: [6.6, 0.19920350542916282],
     1: [0.31000000000000005, 0.13792538097003],
     2: [1.55, 0.2935644431995964],
     3: [12.5, 0.2935644431995964]}
    
    max(data.items(), key=lambda x:(x[1][1],x[1][0]))