2012-08-13 150 views
0

我有一個包含其中的值也是字典鍵值對的字典中刪除有重複值的字典:如何從一個嵌套的字典

{ 
    'item1':{'name':'filename', 'size':1024}, 
    'item2':{'name':'filename', 'size':1024}, 
    'item3':{'name':'diff_filename', 'size':1024}, 
    'item4':{'name':'diff_filename', 'size':1024} 
} 

我想刪除在字典中有重複的項目「文件名「在他們的價值觀領域給我的結果:

{ 
    'item1':{'name':'filename', 'size':1024}, 
    'item3':{'name':'diff_filename', 'size':1024} 
} 
+0

你錯過了' '' – 2012-08-13 10:14:19

+0

更新失蹤' – Finglish 2012-08-13 10:21:10

回答

4

使用輔助set來跟蹤你已經看到的文件名字:

seen = set() 
{k: v for k, v in yourdict.iteritems() 
    if v['name'] not in seen and (seen.add(v['name']) or True)} 

或者,更具可讀性爲一個循環:

​​