如何将列表中的两个列表合并为一个列表?

时间:2018-11-09 09:03:48

标签: python list

假设我有:

$data = $koneksi -> query("SELECT kategori,id,nama,harga,nama2,harga2 FROM pricelist");

我想将2个列表合并为一个列表

A = [[a,b,c,d],[1,2,3,4]]
B = [[1.2,1.7],[1.6,1.8]]

如何在Python中做到这一点? 谢谢

3 个答案:

答案 0 :(得分:0)

使用extend()方法将一个列表的元素连接到另一个列表,然后将此结果列表附加到最终列表。

for i in range(len(a)):
    a[i].extend(b[i])
    c.append(a[i])

答案 1 :(得分:0)

组合两个列表有很多不同的方法。

您可以将两个列表一起添加:

[1,2,3] + [4,5,6]

会给你:

[1,2,3,4,5,6]

您可以将列表追加到列表列表中:

[[1,2,3],[4,5,6]].append([7,8,9])

会给你:

[[1,2,3],[4,5,6],[7,8,9]]

您也可以压缩两个列表:

zip([1,2,3],[4,5,6])

会给你:

[(1,4),(2,5),(3,6)]

您正在寻找的是:

C = []

for sublist_1, sublist_2 in zip(A, B):
    C.append(sublist_1 + sublist_2)

或更紧凑地使用列表理解:

C = [sublist_1 + sublist_2 for sublist_2, sublist_2 in zip(A,B)]

答案 2 :(得分:0)

您可以为此使用zipitertools.starmap

In [110]: A
Out[110]: [[2, 4, 5, 6], [1, 2, 3, 4]]

In [111]: B
Out[111]: [[1.2, 1.7], [1.6, 1.8]]

In [112]: import itertools

In [113]: list(itertools.starmap(lambda x,y:x+y,zip(A,B)))
Out[113]: [[2, 4, 5, 6, 1.2, 1.7], [1, 2, 3, 4, 1.6, 1.8]]