How to remove duplicate tuples from a list in python?

前端 未结 4 2033
伪装坚强ぢ
伪装坚强ぢ 2021-01-03 11:22

I have a list that contains list of tuples as follows.

mylist = [[\'xxx\', 879], [\'yyy\', 315], [\'xxx\', 879], [\'zzz\', 171], [\'yyy\', 315]]
4条回答
  •  说谎
    说谎 (楼主)
    2021-01-03 12:13

    You need to write code that keeps the first of the sub-lists, dropping the rest. The simplest way to do this is to reverse mylist, load it into an dict object, and retrieve its key-value pairs as lists again.

    >>> list(map(list, dict(mylist).items()))
    

    Or, using a list comprehension -

    >>> [list(v) for v in dict(mylist).items()]
    

    [['zzz', 171], ['yyy', 315], ['xxx', 879]]
    

    Note, that this answer does not maintain order! Also, if your sub-lists can have more than 2 elements, an approach involving hashing the tuplized versions of your data, as @JohnJosephFernandez' answer shows, would be the best thing to do.

提交回复
热议问题