numpy.flatiter
flat屬性將返回一個(gè)numpy.flatiter對(duì)象,這個(gè)扁平迭代器可以遍歷多維數(shù)組(好像是一維數(shù)組一樣遍歷)。
上栗子先:
In [1]: x = np.arange(6).reshape(2,3)
In [2]: f1 = x.flat
In [3]: type(f1)
Out[3]: numpy.flatiter
In [4]: f1
Out[4]:
In [5]: for item in f1: print item
0
1
2
3
4
5
可以用這個(gè)flatiter對(duì)象直接獲取其中的一個(gè)或多個(gè)數(shù)組元素:
In [6]: x.flat[2]
Out[6]: 2
In [7]: x.flat[2:4]
Out[7]: array([2, 3])
同樣也可賦值,將導(dǎo)致整個(gè)數(shù)組的所有元素都被覆蓋:
In [9]: x.flat=8
In [10]: x
Out[10]:
array([[8, 8, 8],
[8, 8, 8]])
選擇性賦值:
In [11]: x.flat[[1,3]]=1
In [12]: x
Out[12]:
array([[8, 1, 8],
[1, 8, 8]])
Sourece:http://docs.scipy.org/doc/numpy/reference/generated/numpy.flatiter.html