NumPy ndarray.flat 屬性



NumPy 的ndarray.flat 屬性返回一個數組的一維迭代器。此迭代器允許我們像展平陣列一樣迭代它,但它不會建立新的陣列。

當我們需要以扁平方式迭代多維陣列的元素時,此屬性特別有用。

語法

以下是 NumPy ndarray.flat() 屬性的語法:

numpy.ndarray.flat

引數

NumPy 的ndarray.flat 屬性不接受任何引數。

返回值

此屬性返回陣列上的一維迭代器。此迭代器可用於訪問和修改陣列的元素。

示例 1

以下是 NumPy ndarray.flat 屬性的示例,它展示瞭如何使用 flat 屬性迭代二維陣列的每個元素:

import numpy as np

# Creating a 2D numpy array
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Using flat to iterate over elements
for item in array_2d.flat:
    print(item)

輸出

1
2
3
4
5
6

示例 2

此示例透過遍歷 flat 迭代器並修改每個元素來將陣列中的每個元素加倍。

 
import numpy as np

# Creating a 2D numpy array
array_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Modifying elements using flat iterator
for index, value in enumerate(array_2d.flat):
    array_2d.flat[index] = value * 2

print(array_2d)

執行上述程式碼後,我們將得到以下結果:

[[ 2  4  6]
 [ 8 10 12]]

示例 3

在此示例中,我們使用 flat 迭代器訪問三維陣列的特定元素,展示了 flat 迭代器如何將多維陣列展平為一維以方便訪問:

import numpy as np

# Creating a 3D numpy array
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

# Accessing specific elements using flat
print(array_3d.flat[0])  # First element
print(array_3d.flat[5])  # Sixth element
print(array_3d.flat[-1]) # Last element

輸出

1
6
8
numpy_array_manipulation.htm
廣告