我有一个字典列表:
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
