2015-11-03 203 views
-1

給定一個列表列表,返回一個列表,返回列表列表中的所有元素。列表的元素可以是任何類型的。將多個列表全部添加到一個列表中Python

樣品試驗

given_list = [[42,'bottles'], ['of','water','on','the'], ['wall']] 
new_list = [42, 'bottles', 'of', 'water', 'on' , 'the', 'wall'] 

我有點得到了我的代碼工作,但與此不同的樣本來看,我想用戶輸入2個東西3所列出,然後添加這三個列出各成一體。 雖然保存在given_list中的那些重複列表,我如何將它們全部放入new_list的一個大列表中?

+0

您可以將列表與'new_List = list1 + list2 + list3'連接起來。 –

+0

哇謝謝!但是現在又有一個問題了......如果我在樣本運行中使用代碼:given_list = [[42,'bottles'],'''','water','on','the'],['牆']]我如何將這3個列表放入一個大的new_List中? – poop

+0

當我快速搜索1)合併列表,2)合併列表我得到了很多答案,爲什麼不先詢問之前先搜索? – user1767754

回答

2

list(itertools.chain.from_iterable(given_list))?

你甚至可以使用sum(given_list,[])。可能效率不高,因爲它會創建大量的中介列表。

編輯:我應該澄清itertools方法是有效的。如果你不想使用一個庫,你也可以嘗試[我爲inner_list中的i在given_list中爲inner_list]。

for item in list1: 
    new_List.append(item) 

+0

有沒有辦法做到這一點,而不使用它? – poop

+0

不用什麼? – user5459381

2

您可以通過所有列表的需要循環','水','上',''','牆']

3

您可以使用擴展:

list1 = [42,'bottles'] 
list2 = ['of','water','on','the'] 
list3 = ['wall'] 
new_List = [] 

new_List.extend(list1) 
new_List.extend(list2) 
new_List.extend(list3) 


print new_List 

輸出: [42 '瓶','

+0

謝謝,但如果我要用given_list = [[42,'bottles'],'''','water','''''',''''']來運行示例,那麼將如何我把這一切都變成一個新的名單? – poop

+1

@poop given_list是一個列表列表,你只需要遍歷它並用每個內部列表擴展new_list。 –

+0

是的,使用Andy的嵌套列表的答案。 – Ryan

相關問題