2017-04-22 99 views
-1

詞典:使用分鐘得到從最低鍵和值字典

d = {u'A': 240, u'B': 242, u'C': 243} 

我已經成功地管理使用下面的代碼,以確定最低鍵:

min_ = min(d, key=d.get) 

輸出:

A 

我想把它弄出來把包含值,以及:

A, 240


我想避免使用lambda如果可能的話

+1

'D [min_]'給你 –

+0

你有一個'dict'值。你有一把鑰匙,你想要一個價值。我想你可以連接點。 –

+0

或者,'min(d.items(),key = operator.itemgetter(1))'。 – AChampion

回答

1

應用min到字典項目然後:

from operator import itemgetter 

min(d.items(), key=itemgetter(1)) 

我用operator.itemgetter() callable從每個(key, value)對檢索value,但您也可以使用lambda pair: pair[1]。後者會稍微慢一些,因爲它涉及到放回到Python調用幀。

演示:

>>> from operator import itemgetter 
>>> d = {u'A': 240, u'B': 242, u'C': 243} 
>>> min(d.items(), key=itemgetter(1)) 
(u'A', 240) 
+0

太棒了,謝謝你!有沒有簡單的方法去除「不必要的字符」,即「(u')」,所以我留下了'A,240'? – LearningToPython

+0

@LearningToPython:你正在回顯或打印一個*元組*,因此使用'repr()';元組並不意味着最終用戶友好,它們只具有調試友好的表示。如果您想將其格式化爲其他內容,請使用字符串格式。 ''{},{}'。format(* result)'會按照你想要的格式進行格式化(將兩個值放入一個帶有逗號和空格的字符串中)。 –

+0

謝謝 - 我發現我可以做'x [0]'和'x [1]'給了我結果 – LearningToPython