如何删除列表中不唯一的所有项目?

时间:2019-05-23 09:04:42

标签: python-3.x list duplicates

我正在尝试计算乘法组Z * _7的所有唯一子组。您可以在https://en.wikipedia.org/wiki/Multiplicative_group的组中找到所有内容。

我已经尝试了很多。集合并没有真正的帮助,因为它们仅删除所有重复的列表,而保留最初不是唯一列表中的一项。我在这里已经阅读了很多关于stackoverflow的文章,但是它们都没有真正的帮助。

因此,所有7个可能的子组都是:

  

[[1],[1、5、7、11、13、17],[1、7、13],[1、5、7、11、13、17],[1、7、13 ],[1,17]]

但是我想要的结果应该像这样:

  

[[1],[1,17]]

由于[1、7、13]和[1、5、7、11、13、17]在此子组中不是唯一列表,因此我希望将其完全删除。

1 个答案:

答案 0 :(得分:2)

您可以通过以下方法实现它:

data = [[1], [1, 5, 7, 11, 13, 17], [1, 7, 13], [1, 5, 7, 11, 13, 17], [1, 7, 13], [1, 17]]

print([x for x in data if data.count(x) ==1])

输出:

  

[[1],[1,17]]