📜  如何从 2d 列表 python 创建一个列表(1)

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

如何从 2D 列表 Python 创建一个列表

在 Python 中,列表是一种非常有用的数据类型,可以轻松地存储和访问多个元素。2D 列表是指一个包含若干个子列表的列表,每个子列表可以是不同长度的。在本文中,我们将介绍如何从 2D 列表 Python 创建一个列表。

方法一:使用列表推导式

列表推导式是一种在 Python 中创建列表的快捷方式。它可以根据指定的条件生成新列表。我们可以使用嵌套列表推导式在 Python 中创建 2D 列表。

# 创建一个 3x3 的 2D 列表
matrix = [[i + j for i in range(3)] for j in range(3)]
print(matrix)

输出结果:

[[0, 1, 2], [1, 2, 3], [2, 3, 4]]

在上面的示例中,我们使用了两个嵌套的列表推导式。外部的列表推导式负责创建 3 个子列表,内部的列表推导式负责在每个子列表中创建 3 个元素。

方法二:使用循环嵌套

另一种创建 2D 列表的方法是使用循环。我们可以使用两个嵌套的循环来创建 2D 列表。

# 创建一个 3x3 的 2D 列表
matrix = []
for i in range(3):
  row = []
  for j in range(3):
    row.append(i + j)
  matrix.append(row)
print(matrix)

输出结果:

[[0, 1, 2], [1, 2, 3], [2, 3, 4]]

在上面的示例中,我们使用了两个嵌套的循环来创建 2D 列表。外部的循环负责创建 3 个子列表,内部的循环负责在每个子列表中创建 3 个元素。我们首先创建一个空列表 matrix,然后在外部循环中创建名为 row 的子列表。在内部循环中,我们将每个元素添加到 row 列表中,最后将 row 列表添加到 matrix 列表中。

方法三:将一维列表转换为二维列表

有时,我们可能需要将一维列表转换为二维列表。这时,我们可以使用 numpy 库中的 reshape() 函数。

import numpy as np
# 创建一个一维列表
a = [0, 1, 2, 3, 4, 5, 6, 7, 8]
# 将一维列表转换为 3x3 的二维列表
matrix = np.array(a).reshape(3, 3)
print(matrix)

输出结果:

[[0 1 2]
 [3 4 5]
 [6 7 8]]

在上面的示例中,我们首先创建了一个一维列表 a,然后使用 numpy 库中的 reshape() 函数将其转换为 3x3 的二维列表 matrix。

以上就是从 2D 列表 Python 创建一个列表的三种方法。无论使用哪种方法,都可以轻松地创建出需要的二维列表。