我想計算字典中每個值的數量,並構造一個新的值作爲關鍵字,以及一個表示值爲值的關鍵字列表。Python:計算字典中的頻率
Input :
b = {'a':3,'b':3,'c':8,'d':3,'e':8}
Output:
c = { '3':[a. b. d]
'8':[c, e]
}
我寫了以下內容,但它引發了一個關鍵錯誤,並沒有給出任何輸出,有人可以幫忙嗎?
def dictfreq(b):
counter = dict()
for k,v in b.iteritems():
if v not in counter:
counter[v].append(k)
else:
counter[v].append(k)
return counter
print dictfreq(b)
'如果v不在計數器中:' - 如果在計數器字典中沒有'v',爲什麼你要求它只是在下面行? '計數器[V] .append(東西)'? –
我知道你想自己實現這一點,但只是爲了記錄:'itertools'模塊中有一個內置計數器 – RafaelC