簡體   English   中英

從字典列表中提取值基於python3中的另一個值

[英]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最大的條目提取ij的值。

我見過很多解決方案,它們只會提取最大的diff ,但這不是這里所需要的。 而且我可以想到實現此目的的方法,該方法涉及將每個值逐個循環並與其他值進行比較,但這似乎既無效又無效。

最好的方法是什么?

maxkey參數一起使用以指定您需要在列表中查找具有'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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM