# Random Permutations

## Random Permutations of Elements

A permutation refers to an arrangement of elements. e.g. [3, 2, 1] is a permutation of [1, 2, 3] and vice-versa.

The NumPy Random module provides two methods for this: `shuffle()` and `permutation()`.

## Shuffling Arrays

Shuffle means changing arrangement of elements in-place. i.e. in the array itself.

### Example

Randomly shuffle elements of following array:

from numpy import random
import numpy as np

arr = np.array([1, 2, 3, 4, 5])

random.shuffle(arr)

print(arr)
Try it Yourself »

The `shuffle()` method makes changes to the original array.

## Generating Permutation of Arrays

### Example

Generate a random permutation of elements of following array:

from numpy import random
import numpy as np

arr = np.array([1, 2, 3, 4, 5])

print(random.permutation(arr))
Try it Yourself »

The `permutation()` method returns a re-arranged array (and leaves the original array un-changed).

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.