【发布时间】:2021-07-15 04:57:34
【问题描述】:
我有一个list,如下:
mylist=[[(1, 1)], [(1, 1), (1, 2)], [(1, 1), (1, 2), (1, 3)], [(1, 1), (1, 2), (1, 4)]]
现在,我想要的是将此列表中的每个元素与所有其他元素进行比较,如果该元素是与之比较的元素的子集,则应将其弹出。例如,[(1, 1)] 是[(1, 1), (1, 2)] 的子集,则应从list 中弹出[(1, 1)]。同样,[(1, 1), (1, 2)] 是[(1, 1), (1, 2), (1, 3)] 的子集,那么它也应该被弹出。
在这种情况下,我们得到如下输出:
[[(1, 1), (1, 2), (1, 3)], [(1, 1), (1, 2), (1, 4)]]
我尝试搜索所有可能的答案,但没有一个是针对这种特殊情况的。
到目前为止,我已经尝试了以下方法,但用处不大:
for i, e in enumerate(mylist):
mylist[i] = tuple(e)
mylist = list(set(mylist))
【问题讨论】:
标签: python python-3.x list tuples