我想采取以下清单:
matrix1 = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]
]
matrix2 = [
[A, B, C, D],
[E, F, G, H]
]
并将它们组合成:
new_matrix = [
[A, B, C, D],
[E, F, G, H],
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]
]
我似乎无法找到一个好方法。 Insert()将整个列表放入,从而生成列表列表。任何建议将不胜感激!
答案 0 :(得分:6)
添加它们!
new_matrix = matrix1 + matrix2
答案 1 :(得分:3)
使用+
添加它们:
In [59]: new_matrix = matrix2 + matrix1
In [60]: new_matrix
Out[60]:
[['A', 'B', 'C', 'D'],
['E', 'F', 'G', 'H'],
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]]
答案 2 :(得分:2)
使用extend
它将列表扩展为另一个而不是将其插入。
>>> matrix2.extend(matrix1)
但是,这将使更改到位而不是创建新列表,这可能是您想要的。如果您想创建一个新的,那么+
就是您所需要的。
答案 3 :(得分:0)
只需使用+
运算符
>>> a = [[1],[2],[3]]
>>> b = [[4],[5],[6]]
>>> a+b
[[1], [2], [3], [4], [5], [6]]
>>>
答案 4 :(得分:0)
许多列表的通用解决方案:
或者:
new_matrix = list(itertools.chain(matrix1, matrix2, matrix3, ...)
或者:
new_matrix = sum(matrix1, matrix2, matrix3, ..., default=[])
或列表清单:
new_matrix = list(itertools.chain(*matrices)
或者:
new_matrix = sum(*matrices, default=[])