sna*_*che 1 python dictionary list python-3.x
我有一个字典列表:
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},
...
]
Run Code Online (Sandbox Code Playgroud)
由此,我需要为提取最大的条目的i和的值。jdiff
我已经看到了很多解决方案,它们只会提取出最大的结果diff,但这不是这里所需要的。而且我可以想到实现此目的的方法,该方法涉及将每个值逐个循环并与其他值进行比较,但这似乎既无效又无效。
最好的方法是什么?
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
Run Code Online (Sandbox Code Playgroud)