【问题标题】:Removing duplicates from a list of lists? [duplicate]从列表列表中删除重复项? [复制]
【发布时间】:2011-07-29 22:49:41
【问题描述】:

可能重复:
Python: removing duplicates from a list of lists

从列表中删除重复项的最佳方法是什么?

我试图使用这样的集合:

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

不幸的是,我得到一个 TypeError: unhashable type: 'list'。

在我的列表中有两次出现 ['fox', 'dog']。我希望 L1 删除重复项,如下所示:

L1 = [['狐狸', '狗'],['蝙蝠', '老鼠']]

【问题讨论】:

    标签: python list set


    【解决方案1】:

    如果您将内部列表转换为元组,您将能够成功地将它们添加到集合中,例如:

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

    如有必要,您可以返回如下列表:

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

    【讨论】:

      猜你喜欢
      • 2011-01-13
      • 2014-09-30
      • 1970-01-01
      • 2021-04-02
      • 2016-01-28
      相关资源
      最近更新 更多