从python列表中找到唯一值

sha*_*nuo -2 python

如何查找列表列表的唯一项?

在以下示例中,我只期望2个项目.

mylist=[[' Dish Towel .\n', '1.000', '149.000'],
 [' Dish Towel .\n', '1.000', '149.000'],
 [' Kitchentowel(mix designs) .\n', '1.000', '99.000'],
 [' Kitchentowel(mix designs) .\n', '1.000', '99.000']]
Run Code Online (Sandbox Code Playgroud)

预期结果:

newlist=[[' Dish Towel .\n', '1.000', '149.000'],
 [' Kitchentowel(mix designs) .\n', '1.000', '99.000']]
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但我得到了TypeError.

  output = set()
  for x in mylist:
       output.add(x)
  print output
Run Code Online (Sandbox Code Playgroud)

Kas*_*mvd 5

您可以使用它set来保留唯一的项目:

>>> set(map(tuple,mylist))
set([(' Kitchentowel(mix designs) .\n', '1.000', '99.000'), (' Dish Towel .\n', '1.000', '149.000')]) 
Run Code Online (Sandbox Code Playgroud)

请注意,由于set只接受可对象,您需要将列表转换为元组然后使用set