【问题标题】:How to identify/print the key with the greatest value in a dictonary?如何识别/打印字典中具有最大值的键?
【发布时间】:2020-06-07 00:15:36
【问题描述】:

我发现了一些类似的问题,但都没有解决我的问题。按照这个例子:

d={'a': 6, 'b': 3, 'c': 8, 'd': 1}

现在我想打印具有最大数字(在本例中为 'c')和最小的键(在本例中为 'd')。意识到我想要打印的是关键,而不是它的价值。

【问题讨论】:

    标签: python dictionary key


    【解决方案1】:

    使用内置 min()/max() 和自定义 key= 参数:

    d={'a': 6, 'b': 3, 'c': 8, 'd': 1}
    
    print('Min key =', min(d, key=lambda k: d[k]) )
    print('Max key =', max(d, key=lambda k: d[k]) )
    

    打印:

    Min key = d
    Max key = c
    

    【讨论】:

    • 谢谢,它有效。但是有没有办法不使用 lambda 函数?我还没有在我的算法课上学过它,所以我不应该使用它。
    【解决方案2】:

    @Mateus,这是另一种不使用 lambda 函数的方法:

    d={'a': 6, 'b': 3, 'c': 8, 'd': 1}
    
    # Solution #1 - Using lambda function
    print('Min key =', min(d, key=lambda k: d[k]))
    print('Max key =', max(d, key=lambda k: d[k]))
    
    # Solution #2 - Using the dictionary get() method
    print ('Min key =', min(d, key=d.get))
    print ('Max key =', max(d, key=d.get))
    

    任何一种方法都会得到相同的结果:

    Min key = d
    Max key = c
    Min key = d
    Max key = c
    

    【讨论】:

      猜你喜欢
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 1970-01-01
      • 2012-09-06
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多