Python 在numpy中.flat的意义是什么?

Python 在numpy中.flat的意义是什么?,python,arrays,numpy,Python,Arrays,Numpy,这两种代码有何不同?或者根本就没有这种区别 import numpy as np a = np.array([1,2,4,5,5,6]) for item in a.flat: print(item) 或 import numpy as np a = np.array([1,2,4,5,5,6]) for i in a: print(i) 两人都给出了相同的结果 属性.flat将展平数组 因为您使用的数组已经是平面的,所以两段代码的输出都是相同的 试试这个: impor

这两种代码有何不同?或者根本就没有这种区别

import numpy as np
a = np.array([1,2,4,5,5,6])
for item in a.flat:
    print(item)   

import numpy as np
a = np.array([1,2,4,5,5,6])
for i in a:
    print(i)
两人都给出了相同的结果


属性
.flat
将展平数组

因为您使用的数组已经是平面的,所以两段代码的输出都是相同的

试试这个:

import numpy as np
a = np.array([[1,2,4],[5,5,6]])
for item in a.flat:
    print(item)

>1
>2
>4
>5
>5
>6


import numpy as np
a = np.array([[1,2,4],[5,5,6]])
for i in a:
    print(i)

>[1 2 4]
>[5 5 6]

您的
a=np.array([1,2,4,[5,5,6]])
给了我一个
设置数组元素的错误<代码>np.数组([[1]、[2]、[3]、[4]、[5]])
是1d对象数组
flat
不会改变这一点。
flat
在常规2d阵列上看起来更好。:)不知怎的,当我输入答案时,我没有思考:(这完全是我的想法!相关:
np.array([[1], [2], [3], [4], [5]]).flat
>[1, 2, 3, 4, 5]

np.array([[[[[1, 2, 3, 4, 5]]]]]).flat
>[1, 2, 3, 4, 5]

np.array([1, 2, 3, 4, 5]).flat
>[1, 2, 3, 4, 5]
import numpy as np
a = np.array([[1,2,4],[5,5,6]])
for item in a.flat:
    print(item)

>1
>2
>4
>5
>5
>6


import numpy as np
a = np.array([[1,2,4],[5,5,6]])
for i in a:
    print(i)

>[1 2 4]
>[5 5 6]