0
從詞典列表清單,我想獲得與最低值的字典的'cost'
鍵,然後刪除其他鍵,值對從詞典獲取與最低鍵值字典從字典
lst = [{'probability': '0.44076116', 'cost': '108.41'} , {'probability': '0.55923884', 'cost': '76.56'}]
從詞典列表清單,我想獲得與最低值的字典的'cost'
鍵,然後刪除其他鍵,值對從詞典獲取與最低鍵值字典從字典
lst = [{'probability': '0.44076116', 'cost': '108.41'} , {'probability': '0.55923884', 'cost': '76.56'}]
你可以提供一個自定義的key
功能的min()
內置功能:
>>> min(lst, key=lambda item: float(item['cost']))
{'cost': '76.56', 'probability': '0.55923884'}
或者,如果你只需要一個最低的成本值本身,你可以找到從成本值的列表中的最小成本值:
costs = [float(item["cost"]) for item in lst]
print(min(costs))
@ alecxe的解決方案是整齊而簡短的,他+1。這裏是我的方式做到這一點:
>>> dict_to_keep = dict()
>>> min=1000000
>>> for d in lst:
... if float(d["cost"]) < min:
... min = float(d["cost"])
... dict_to_keep = d
...
>>> print (dict_to_keep)
{'cost': '76.56', 'probability': '0.55923884'}
第二部分,我說任何Python的建議:「然後刪除其他鍵,從字典值對」? –
@KristofPal你可以通過這種方式獲得最小的成本:'min(lst,key = lambda item:float(item ['cost']))[「cost」]'..我正確理解這個部分。謝謝。 – alecxe
@KristofPal增加了一個選項,以防我們仍然處於同一頁面:) – alecxe