📜  Python - 按行连接两个列表列表(1)

📅  最后修改于: 2023-12-03 15:18:52.652000             🧑  作者: Mango

Python - 按行连接两个列表列表

在 Python 中,有时会遇到需要按行连接两个列表列表的场景,例如将两个二维数组按行连接起来。本文将介绍如何实现这个功能。

方法一:使用 zip() 函数和列表推导式

可以使用 zip() 函数 将两个列表列表按行聚合为元组,然后使用列表推导式将元组解包并按行连接起来。

list1 = [[1, 2], [3, 4]]
list2 = [[5, 6], [7, 8]]

result = [row1 + row2 for row1, row2 in zip(list1, list2)]
print(result)  # 输出 [[1, 2, 5, 6], [3, 4, 7, 8]]

这里使用了列表推导式 [row1 + row2 for row1, row2 in zip(list1, list2)],它表示将每个元组 (row1, row2) 按行连接为一个列表,并将所有这样的列表连接起来。

方法二:使用 numpy 库

另一种方法是使用 numpy 库 中的 concatenate() 函数,它可以按指定的轴连接两个数组。

import numpy as np

list1 = np.array([[1, 2], [3, 4]])
list2 = np.array([[5, 6], [7, 8]])

result = np.concatenate((list1, list2), axis=1)
print(result.tolist())  # 输出 [[1, 2, 5, 6], [3, 4, 7, 8]]

这里将两个列表列表转换为了 numpy 数组,并使用 np.concatenate((list1, list2), axis=1) 将它们按行连接起来。最后使用 .tolist() 方法将结果转换回列表列表。

总结

本文介绍了两种按行连接两个列表列表的方法,分别是使用 zip() 函数和列表推导式,以及使用 numpy 库中的 concatenate() 函数。希望本文可以对 Python 语言初学者和开发者有所帮助。