2011-07-29 341 views
3

Possible Duplicate:
Python: removing duplicates from a list of lists從列表中刪除重複項?

從列表中刪除重複項的最佳方法是什麼?

我試圖用這樣設置:

L1 = [['fox', 'dog'],['bat', 'rat'],['fox', 'dog']] 
L1 = list(set(L1)) 

不幸的是,我得到一個類型錯誤:unhashable類型: '名單'。

在我的列表中有兩個['狐狸','狗')出現。我想L1除去重複,看起來像這樣:

L1 = [「狐狸」,「狗」],[「蝙蝠」,「鼠」]

回答

8

如果轉換內部名單你將能夠元組將它們添加到一組成功的,例如:

>>> set(map(tuple, L1)) 
set([('fox', 'dog'), ('bat', 'rat')]) 

如果有必要,你可以回到列表的列表如下:

>>> map(list, set(map(tuple, L1))) 
[['fox', 'dog'], ['bat', 'rat']]