将多个列表全部添加到一个列表Python中

时间:2015-11-03 21:22:11

标签: python string list sorting

给定一个列表列表,返回一个包含所有列表的列表 列表列表中的元素。列表的元素可以是任何类型。

示例运行

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

我的代码可以运行,但与此示例运行不同,我希望用户为3个列表输入2个内容,然后将这三个列表全部添加到一个中。 将这些spate列表保存在given_list中时,如何将它们全部放入new_list的一个大列表中?

3 个答案:

答案 0 :(得分:3)

您可以使用extend:

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,'' of'' water',' on'''''' 39;壁']

答案 1 :(得分:2)

列表(itertools.chain.from_iterable(given_list))?

你甚至可以使用sum(given_list,[])。可能效率不高,因为它会创建大量的中间列表。

编辑:我应该澄清一下itertools方法是否有效。如果您不想使用库,您也可以在inner_list中尝试[i for given_list in inner_list for i]。

答案 2 :(得分:2)

您需要遍历所有列表:

for item in list1:
    new_List.append(item)