在 Python 中声明 3D 数组

Muhammad Maisam Abbas 2023年1月30日
  1. 使用 Python 中的列表推导式声明 3D 列表
  2. 在 Python 中使用乘法方法声明 3D 列表
  3. 在 Python 中使用 NumPy 包声明 3D 数组
在 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.]]]

在上面的代码中,我们首先使用 ijk 声明数组每个维度中的元素数。之后,我们将这些尺寸传递给 np.zeros() 以初始化 3D 数组。np.zeros()方法给我们一个数组,并用 0 填充每个元素。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

相关文章 - Python List