NumPy ndarray.flat 属性
NumPy ndarray.flat 属性在 NumPy 数组上提供平面迭代器。它返回一个一维迭代器,可用于以扁平方式迭代数组的每个元素,而不管数组的原始形状如何。
当您需要按顺序迭代数组的元素,而不必担心数组的形状或维数时,它非常有用。
flat 属性不会更改数组,但允许对其元素进行更简单的线性迭代。
NumPy 中 flat 属性的用法
可以直接从 NumPy 数组访问 flat 属性,以在数组上创建扁平迭代器。
在执行元素级操作或需要以简单的线性顺序访问元素时,此属性非常有用。
以下是一些示例,演示如何使用 flat 迭代数组。
示例:迭代二维数组
在本例中,我们创建一个二维数组,并使用 flat 属性以扁平化的方式迭代每个元素 -
import numpy as np # 创建二维数组 arr = np.array([[1, 2, 3], [4, 5, 6]]) # 迭代扁平化数组 for element in arr.flat: print(element)
以下是得到的输出 -
1 2 3 4 5 6
示例:修改元素
在本例中,我们创建一个2D 数组并使用 flat 属性修改其元素。我们通过以扁平化的方式迭代每个元素,使它们加倍 -
import numpy as np # 创建二维数组 arr = np.array([[1, 2], [3, 4]]) # 通过将元素加倍来修改元素 for i in arr.flat: i *= 2 print(arr)
这将产生以下结果 -
[[1 2] [3 4]]
示例:展平高维数组
在此示例中,我们创建一个三维数组,并使用 flat 属性对展平后的数组进行迭代 -
import numpy as np # 创建三维数组 arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) # 遍历扁平化数组 for element in arr.flat: print(element)
以下是上述代码的输出 -
1 2 3 4 5 6 7 8
示例:将 flat 用于空数组
在此示例中,我们检查访问空数组的 flat 属性的结果 -
import numpy as np # 创建空数组 arr = np.array([]) # 遍历扁平化的空数组 for element in arr.flat: print(element)
结果如下 −
(no output, as the array is empty)