删除列表中的子集

时间:2017-05-17 15:39:42

标签: python list subset

我有一个列表索引列表。我需要找到一种方法来删除列表中可能出现的子集。

[44, 45, 54, 80, 103, 122, 125, 175, 176, 180, 210, 213]
[44, 54, 77, 80, 103, 122, 125, 171, 175, 176, 180, 210, 213]
[55, 87, 102, 119, 127, 132, 153, 166, 187, 197]

显然,前两个列表共享公共索引,我需要将这些列表共享大多数公共索引。我需要输出如下。

[44, 45, 54, 77, 80, 103, 122, 125, 171, 175, 176, 180, 210, 213]
[55, 87, 102, 119, 127, 132, 153, 166, 187, 197]

1 个答案:

答案 0 :(得分:0)

您可能正在寻找set.union

>>> s = set([44, 45, 54, 80, 103, 122, 125, 175, 176, 180, 210, 213])
>>> s2 = set([44, 54, 77, 80, 103, 122, 125, 171, 175, 176, 180, 210, 213])
>>> s.union(s2)
set([77, 80, 210, 213, 103, 171, 44, 45, 175, 176, 180, 54, 122, 125])
>>> sorted(list(s.union(s2)))
[44, 45, 54, 77, 80, 103, 122, 125, 171, 175, 176, 180, 210, 213]