一個關鍵的重複值我有這樣一本字典:的Python刪除字典
Files:
{'key1': ['path1', 'path1', 'path2', 'path1', 'path2'],
'key2': ['f', 'f', 'f', 'f', 'f'],
'key_file': ['file1', 'file1', 'file2', 'file1', 'file2']}
我想刪除其他鍵UND在「KEY_FILE」所有重複的值和它們的其他價值('鍵1 '和'key2')。
期望詞典:
Files:
{'key1': ['path1', 'path2'],
'key2': ['f', 'f'],
'key_file': ['file1', 'file2']}
我無法弄清楚它保留順序和刪除重複的每一個項目,他們在其他鍵的值的解決方案。
非常感謝。
編輯:
'key2': ['f', 'f', 'f', 'f', 'f']
成爲
'key2': ['f', 'f'],
,因爲有兩個不同的文件。
我不想刪除每個密鑰中的每個副本。 'path1'與'file1'有關,'path2'與'file2'有關,就像key2中的'f'一樣。其實在現實中有更多的關鍵,但這是我最小的例子。這是我的問題。我發現了幾個解決方案來刪除每個副本。
EDIT2:
也許我有點困惑。
每個鍵的長度都與描述文件名(在key_file中),相應路徑(在key1中)以及其他一些描述字符串(在key2中等)中的長度相同。可能會發生相同的文件存儲在不同的位置(路徑),但我知道,如果文件名完全相同,則它是相同的文件。
基本上我正在尋找的是一個函數,它檢測key_file的第二個值,並將文件名file1作爲第一個值file1的副本,並刪除每個鍵的第二個值。數值4(file1)和5(file2)的值相同。結果字典將看起來像我提到的那個。
我希望這解釋得更好。
'[ 'F', 'F', 'F', 'F', 'F']'變成' ['f','f']'? – thefourtheye 2015-01-15 15:15:15
要刪除重複請參閱此問題:http://stackoverflow.com/questions/480214/how-do-you-remove-duplicates-from-a-list-in-python-whilst-preserving-order 除此之外,它只是一個通過字典的項目循環:) – Wolph 2015-01-15 15:16:55
@thefourtheye是的,看看編輯的文本。 – Keynaan 2015-01-15 15:29:24