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

如何得到某一项中具有最小值的元组?[复制品]

  •  0
  • Indominus  · 技术社区  · 7 年前
    results = [({'age': 1},      30), 
               ({'weight': 80},   5), 
               ({'label': 'abc'}, 7)]
    

    如上所示,我有一个元组列表。有没有什么优雅的方法可以得到第二项最小的元组?

    一般来说,如果我需要一个最小的元组 eval(2nd item) ? eval 是一个转换函数。

    1 回复  |  直到 7 年前
        1
  •  1
  •   iz_    7 年前

    你可以使用 key 精氨酸 min 具有 operator.itemgetter :

    from operator import itemgetter
    
    results = [({'age': 1},      30), 
               ({'weight': 80},   5), 
               ({'label': 'abc'}, 7)]
    
    print(min(results, key=itemgetter(1)))
    

    输出:

    ({'weight': 80}, 5)