附加列表后删除行括号

时间:2018-03-30 12:45:03

标签: python arrays python-3.x list append

我有一个列表如下:

My_list=[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]]

这样:

a=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

b=[2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]

然后我将它们附加如下

My_list.append(a)
My_list.append(b)

我想将其转换为:

 My_list=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]

如何删除a和b括号?

4 个答案:

答案 0 :(得分:1)

尝试使用extend

My_list = []

a=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
b=[2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]

My_list.extend(a)
My_list.extend(b)

My_list
#[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]

否则,您可以展平已创建的list

My_list = [i for sublist in My_list for i in sublist]

答案 1 :(得分:1)

使用itertools

<强>实施例

from itertools import chain
My_list=[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]]
print(list(chain(*My_list)))

<强>输出

[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]

答案 2 :(得分:1)

尝试

My_list = a[:]
My_list.extends(b) 

答案 3 :(得分:0)

a=[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
b=[2, 5, 8, 11, 6, 4, 8, 1, 2, 7, 1]

Python 2.7

new_list = a + b

Python 3.6

new_list = [*a,*b]