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