Skip to main content
 首页 » 编程设计

python之基于python3中的另一个值从字典列表中提取值

2025年05月04日20jiqing9006

我有一个字典列表:

list = [ 
    {'i': 1, 'j': 1, 'diff': 39}, 
    {'i': 1, 'j': 1, 'diff': 27}, 
    {'i': 1, 'j': 1, 'diff': 18}, 
    {'i': 1, 'j': 1, 'diff': 33}, 
    ... 
] 

由此,我需要为具有最大diff 的条目提取i 和j 的值。

我见过很多可以简单地提取最大的 diff 的解决方案,但这不是这里所需要的。我可以想办法做到这一点,包括循环遍历并将每个值与其他值一一比较,但这似乎既不高效也不符合 pythonic。

解决这个问题的最佳方法是什么?

请您参考如下方法:

使用 max 和 key 参数来指定您需要在列表中查找具有 'diff' 键最大值的字典:

lst = [ 
    {'i': 1, 'j': 1, 'diff': 39}, 
    {'i': 1, 'j': 1, 'diff': 27}, 
    {'i': 1, 'j': 1, 'diff': 18}, 
    {'i': 1, 'j': 1, 'diff': 33} 
] 
 
max_dict = max(lst, key=lambda x: x['diff']) 
 
print(max_dict['i'])  # 1 
print(max_dict['j'])  # 1