# numpy.ndarray.flat() in Python

• Difficulty Level : Basic
• Last Updated : 21 Jun, 2021

The numpy.ndarray.flat() function is used as a 1_D iterator over N-dimensional arrays.
It is not a subclass of, Python’s built-in iterator object, otherwise it a numpy.flatiter instance.
Syntax :

`numpy.ndarray.flat()`

Parameters :

`index : [tuple(int)] index of the values to iterate`

Return :

`1-D iteration of array`

Code 1 : Working on 2D array

## Python

 `# Python Program illustrating``# working of ndarray.flat()` `import` `numpy as geek` `# Working on 1D iteration of 2D array``array ``=` `geek.arange(``15``).reshape(``3``, ``5``)``print``(``"2D array : \n"``,array )` `# Using flat() : 1D iterator over range``print``(``"\nUsing Array : "``, array.flat[``2``:``6``])` `# Using flat() to Print 1D represented array``print``(``"\n1D representation of array : \n ->"``, array.flat[``0``:``15``])`

Output :

```2D array :
[[ 0  1  2  3  4]
[ 5  6  7  8  9]
[10 11 12 13 14]]

Using Array :  [2 3 4 5]

1D representation of array :
-> [ 0  1  2 ..., 12 13 14]```

Code 2 : Changing the values of array

## Python

 `# Python Program illustrating``# working of ndarray.flat()` `import` `numpy as geek` `# Working on 1D iteration of 2D array``array ``=` `geek.arange(``15``).reshape(``3``, ``5``)``print``(``"2D array : \n"``,array )` `# All elements set to 1``array.flat ``=` `1``print``(``"\nAll Values set to 1 : \n"``, array)` `array.flat[``3``:``6``] ``=` `8``array.flat[``8``:``10``] ``=` `9``print``(``"Changing values in a range : \n"``, array)   `

Output :

```2D array :
[[ 0  1  2  3  4]
[ 5  6  7  8  9]
[10 11 12 13 14]]

All Values set to 1 :
[[1 1 1 1 1]
[1 1 1 1 1]
[1 1 1 1 1]]

Changing values in a range :
[[1 1 1 8 8]
[8 1 1 9 9]
[1 1 1 1 1]]```

What actually numpy.flatiter is ?
A flatiter iterator is returned by x.flat for any array x. It allows iterating(in row-major manner)over N-dimensional arrays, either in a for-loop or by calling its next method.
Code 3 : Role of numpy.flatitter()

## Python

 `# Python Program illustrating``# working of ndarray.flat()` `import` `numpy as geek` `# Working on 1D iteration of 2D array``array ``=` `geek.arange(``15``).reshape(``3``, ``5``)``print``(``"2D array : \n"``,array )` `print``(``"\nID array : \n"``, array.flat[``0``:``15``])        ` `print``(``"\nType of array,flat() : "``, ``type``(array.flat))` `for` `i ``in` `array.flat:``    ``print``(i, end ``=` `' '``)`

Output :

```2D array :
[[ 0  1  2  3  4]
[ 5  6  7  8  9]
[10 11 12 13 14]]

ID array :
[ 0  1  2 ..., 12 13 14]

Type of array,flat() :
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ```

References :
https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.flat.html#numpy.ndarray.flat
Note :
These codes won’t run on online-ID. Please run them on your systems to explore the working.
This article is contributed by Mohit Gupta_OMG 😀. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.