3
可以说我有这些数字集找到数字子集的分组
a = {1, 2, 3}
b = {2, 3, 4}
c = {1, 5}
我想找到集所有不同的数字分组。其结果将是
{1}, {2, 3}, {4}, {5}
我幼稚的做法,这是不行的,是这样的:
data = [{1, 2, 3}, {2, 3, 4}, {1, 5}]
for i in range(1, 5):
s = set.intersection(*[x for x in data if i in x])
print(s)
它返回
set([1])
set([2, 3])
set([2, 3])
set([2, 3, 4])
这可以很容易地去重复,但没有给出预期的结果。
我怎样才能得到存在于子集中的数字的分组?
不确定你的算法是否有效。你可能想要通过[0,1,2]的2^3-1子集,看看哪些是每个子集中出现的元素,而不是互补的 – WNG
你能澄清一下存在于子集中的数字的分组吗?进一步设置?你有什么想法“独特的数字分组”?因为“{1}”,“{4}”和“{5}”当然不是任何类型的组。 – zwer