2016-11-08 68 views
0

我目前正在學習Python作爲學生,但似乎無法理解字典的概念。瞭解max上

比方說

d = {'I': 1, ' ': 2, 'P': 1, 'L': 1, 'E': 3, 'H': 1, 'D': 1, 'N': 1} 

我想使用的功能max返回具有最高價值的關鍵。

max (d.values(), key = lambda x: x[0]) 

,但我得到它說

TypeError: 'int' object is not subscriptable 
+0

'd.values()'返回字典* *值,這是整數。你不能標這些。 – Li357

+0

您正在索引整數。以適當的方式檢出副本。 – Kasramvd

+0

由於d.values()返回一個列表,你可以簡單地得到列表max(d.values())的最大值。你目前正在嘗試索引一個整數,這是你不能做的! – chatton

回答

0

你問max()得到最大一個錯誤,因爲你在d.values()通過。每個值都是一個int對象,因此您不能對這些對象執行x[0]

傳入字典本身,並作爲key,使用d.get。迭代在該對象產生密鑰和max()將基於什麼d.get(k)返回找到問題的關鍵:

max(d, key=d.get)