轉自:https://www.jianshu.com/p/f2bd63766204
it = np.nditer(x, flags=['multi_index'], op_flags=['readwrite'])
查了查np.nditer原來是numpy array自帶的迭代器。這里簡單寫個demo解釋一下np.nditer的用法。
先構建一個3x4的矩陣

然后輸入命令

flags=['multi_index']
表示對a進行多重索引,具體解釋看下面的代碼。
op_flags=['readwrite']
表示不僅可以對a進行read(讀取),還可以write(寫入),即相當於在創建這個迭代器的時候,我們就規定好了有哪些權限。
迭代一下試一試

print it.multi_index
表示輸出元素的索引,可以看到輸出的結果都是index。
it.iternext()
表示進入下一次迭代,如果不加這一句的話,輸出的結果就一直都是(0, 0)
。