2011-07-29 343 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']]