例如,我通過傳遞一個字典作爲參數調用這個函數的值:反轉鍵和原來的字典
>>> inv_map({'a':1, 'b':2, 'c':3, 'd':2})
{1: ['a'], 2: ['b', 'd'], 3: ['c']}
>>> inv_map({'a':3, 'b':3, 'c':3})
{3: ['a', 'c', 'b']}
>>> inv_map({'a':2, 'b':1, 'c':2, 'd':1})
{1: ['b', 'd'], 2: ['a', 'c']}
如果
map = { 'a': 1, 'b':2 }
我只能反轉這個圖可以得到:
inv_map = { 1: 'a', 2: 'b' }
使用此
dict((v,k) for k, v in map.iteritems())
任何人都知道如何爲我的情況做到這一點?
注意,最後一行轉換的'collections.defaultdict'回到正常'dict'-通常是不必要的,甚至是不希望的。 –
@MikeGraham你能解釋一下爲什麼要這樣嗎?當不添加該行時,我經常會犯更多錯誤(因爲如果您查找並且不存在密鑰,它會添加它)。 – tomasyany