2015-07-10 87 views
1

我試圖將一個嵌套列表的列表(列表數量可以是2列表+)到一個元組列表。列表到單個列表的嵌套列表

名單看​​起來是這樣的:

exampleList = [['A', 'B', 'C', 'D'], [1, 2, 3, 4], [10, 20, 30, 40]] 

,我想它是這樣的;

newList = [('A', 1, 10), ('B', 2, 20), ('C', 3, '30)...] 

我知道如果你做zip(list1, list2),它會變成一個元組列表。但是我怎麼去做一個列表清單呢?

我嘗試使用zip概念有:

test = [] 
for data in exampleList: 
    test.append(zip(data)) 

但它並沒有爲我工作了。

感謝您的高級幫助!

+0

什麼是您的實際預期輸出?究竟是'newList',但元素是列表而不是元組?什麼阻止你做'newList = [list(e)for zip in(* exampleList)]''? –

+1

查看zip的手冊https://docs.python.org/3/library/functions.html#zip即使參數列表顯示爲'* iterable' – msw

回答

6
>>> exampleList = [['A', 'B', 'C', 'D'], [1, 2, 3, 4], [10, 20, 30, 40]] 
>>> list(zip(*exampleList)) 
[('A', 1, 10), ('B', 2, 20), ('C', 3, 30), ('D', 4, 40)] 

編輯:

如果你希望你的輸出是不是一個元組列表列出的清單,

[list(i) for i in zip(*empampleList)] 

應該做的伎倆

+0

OP是否已經這樣做並要求列表列表而不是元組列表?我知道一旦生成了元組列表(請參閱我的評論)這麼做很簡單,但我不認爲這回答了這個問題。誠然,這是令人困惑的,我可能會誤解它。 –

+0

@ Two-BitAlchemist:我以爲OP試圖壓縮列表中包含的列表。但我也會解釋你的評論 – inspectorG4dget