[英]Extracting values from a list of dicts based another value in python3
我有一個字典列表:
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
,但這不是這里所需要的。 而且我可以想到實現此目的的方法,該方法涉及將每個值逐個循環並與其他值進行比較,但這似乎既無效又無效。
最好的方法是什么?
將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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.