在python中的两个最小键之间进行选择

2024-10-02 22:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能帮我选择两个键之间的最小值吗?例如,如果我有字典列表:

results = [
  {
    "model": "short",
    "score": 34,
    "alt_score": 1
  }, 
  {
    "model": "med",
    "score": 22,
    "alt_score": 11
  }, 
  {
    "model": "tall",
    "score": 42,
    "alt_score": 90
  }, 
  {
    "model": "xtall",
    "score": 83,
    "alt_score": 15
  }, 
]

我想选择具有最小的score或{}的字典。我知道如何分别找到最小的score或{}的字典:

min(results, key=lambda x:x['alt_score'])

但我不知道怎么同时看两把钥匙。我需要这样的东西:

min(results, key=lambda x:x['score', 'alt_score])

或者

min(results, key=lambda x:x['score'] or x:x['alt_score'])

结果应返回:

^{pr2}$

提前谢谢!在


Tags: orlambdakey列表model字典medmin
3条回答

min(results, key=lambda x:min(x['score'], x['alt_score']))

x需要为内部min()比较引用每个分数。在

min(results, key=lambda x:min(x['score'], x['alt_score']))

Lambdas中几乎可以有任何表达式,包括对min()的内部调用,以获得该项的较小值,score或{}。在

你可以用这个:

min(results, key=lambda x: min(x['score'], x['alt_score']))

相关问题 更多 >