我有一個串列和一本字典:
lst = ['Boston', 'Denver']
dic = {'Atlanta': 0, 'Boston':100, 'Denver':160}
如果鍵在串列中,我想找到具有最低值的字典鍵。在這種情況下,我想回傳“波士頓”而不是“亞特蘭大”,因為它不包含在串列中。我將如何有效地搜索最小值?
uj5u.com熱心網友回復:
我會這樣做:
min(lst, key=dic.get)
uj5u.com熱心網友回復:
嘗試:
k = min(dic.keys() & lst, key=dic.get)
print(k)
印刷:
Boston
uj5u.com熱心網友回復:
您可以使用min()將值關聯inf到串列中未出現的任何鍵的鍵引數:
min(dic.keys(), key=lambda x: dic[x] if x in lst else float('inf'))
這輸出:
Boston
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/465131.html
