在 Python 中声明 3D 数组
在本教程中,我们将讨论在 Python 中声明三维数组的方法。
使用 Python 中的列表推导式声明 3D 列表
就基本功能而言,列表的功能与 Python 中的数组相同。列表推导是一种对列表执行复杂操作的方法。列表推导也可以用于声明 3D 数组。以下代码示例向我们展示了如何使用列表推导式在 Python 中声明 3D 数组。
n = 3
distance = [[[0 for k in range(n)] for j in range(n)] for i in range(n)]
print(distance)
输出:
[[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]
在上面的代码中,我们首先声明维数,然后使用列表推导式来初始化 n
维的列表。
在 Python 中使用乘法方法声明 3D 列表
列表推导方法可以很好地工作,但是它有点代码扩展。如果要最小化代码,可以使用乘法。以下代码示例向我们展示了如何在 Python 中使用乘法方法声明 3D 数组。
distance = [[[0] * n] * n] * n
print(distance)
输出:
[[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]
上面的代码与列表推导功能相同,但是大大减少了代码。
在 Python 中使用 NumPy
包声明 3D 数组
如果要在 Python 中专门对数组执行某些操作,则最好使用 NumPy
程序包。它是一个专门设计用于在 Python 中使用数组的软件包。
numpy 是一个外部软件包,并未预装 Python。使用它之前,我们需要先安装它。下面给出了安装 numpy 软件包的命令。
pip install numpy
以下代码示例显示了如何使用 NumPy
包在 Python 中声明 3 维数组。
import numpy as np
i = 3
j = 3
k = 3
new_array = np.zeros((i, j, k))
print(new_array)
输出:
[[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]]
在上面的代码中,我们首先使用 i
,j
和 k
声明数组每个维度中的元素数。之后,我们将这些尺寸传递给 np.zeros()
以初始化 3D 数组。np.zeros()方法给我们一个数组,并用 0
填充每个元素。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn