我有以下幾點:如何在Python中組合數組?
[[1, 2], [3], [4,5], [6,1], [5,3,4], [4,7]]
我想,這樣一個數字是不是在另一個數組,我結合陣列組合這些。輸出應該是這樣的:
[[1,2,6],[3,4,5,7]]
關於如何在Python中做到這一點的任何想法?
我有以下幾點:如何在Python中組合數組?
[[1, 2], [3], [4,5], [6,1], [5,3,4], [4,7]]
我想,這樣一個數字是不是在另一個數組,我結合陣列組合這些。輸出應該是這樣的:
[[1,2,6],[3,4,5,7]]
關於如何在Python中做到這一點的任何想法?
這裏就是我想要做的:
>>> L = [[1, 2], [3], [4,5], [6,1], [5,3,4], [4,7]]
>>> L = [set(e) for e in L]
>>> combined = []
>>> while L:
... group = L.pop()
... for other in L:
... if group.intersection(other):
... group.update(other)
... L = [e for e in L if not group.intersection(e)]
... combined.append(group)
...
>>> combined
[set([3, 4, 5, 7]), set([1, 2, 6])]
這第一每組轉換原始列表設置,然後貪婪地的元素融合在一起,成組。
你有沒有試圖解決這個問題?你嘗試了什麼? – kojiro
目前還不清楚你的意思是「如果數字在另一個陣列中」。如果另一個數組中有什麼數字? – merlin2011
陣列組合的規則是什麼? – drum