如果我們有許多列表包含其中包含整數的子列表(對)。如果任何兩個子列表具有相同的編號,我們希望合併它們並刪除重複的數字。基於內容重疊合並子列表,python 3
例如: alist = [[2, 1], [5, 3], [5, 1], [3, 4], [3, 1], [5, 4], [4, 1], [5, 2], [4, 2]] becomes alist = [1,2,3,4,5]
而結果將是他們全部合併到一個列表,因爲他們碰巧都是共享的數字。
但並非所有的名單將是如此便捷: alist = [[4,5],[7,8],[6,7],[9,5]]
將成爲:alist = [[4,5,9],[6,7,8]]
問題是我遍歷巨大的名單,在他們10^7項。 有沒有一種方法來完成沒有兩個嵌套循環?這就是我目前所做的。
每個元素是一對時會發生什麼情況包含在不同的列表中? IE:'[[1,2],[3,4],[1,3]]'是否會導致[[1,2,3],[3,4]]或[[1 ,2],[1,3,4]]或'[[1,2,3],[1,3,4]]'? – James
值的範圍是什麼? – m69
每對中的數字的範圍可以與對的總數一樣高,因此數字<=成對的數量約爲10^7。 – Synectome