我是python的新手,我遇到了障礙。我有一個python列表,每行包含一個列表。基本上,我想將列表中共享值的列表結合起來。例如,下面的 就是我的python列表目前看到的內容,以及在附加命令執行後我希望數據看起來像什麼。如何將python列表和共享項目合併到新列表中
我知道這類問題對於集合和交叉點是理想的,但我只是無法讓它們正常工作。我也看到了一篇使用索引的文章,但這也不適合我。
列表的樣子:
[
['mary', 'home'],
['mary', 'school'],
['mary', 'work'],
['bob', 'home'],
['bob', 'school'],
['bob', 'work'],
['tom', 'work'],
['tom', 'school'],
['tom', 'home'],
['bill', 'vacation'],
]
我希望它是什麼樣子:
[
['mary', 'bob', 'tom', 'home', 'school', 'work'],
['bill', 'vacation'],
]
謝謝拉爾斯,它工作得很好!我特別喜歡你如何分割單打和倍數。 – owen 2013-04-26 16:38:50
雖然這個答案恰好適用於給定的具體示例數據,但在一般情況下它會失敗。例如,用[['a','b'],['a','c'],['d','e'],['d','f'],['g' ,'h']]'它給出'listMultiple == ['a','d']'和'listSingle == ['b','c','e','f','g',' h']' - 換句話說,它只是計算元素的出現次數,而不是將列表與共享元素結合起來。 – 2013-04-26 17:30:13