# random.setstate() in Python

• Last Updated : 17 May, 2020

`Random` module is used to generate random numbers in Python. Not actually random, rather this is used to generate pseudo-random numbers. That implies that these randomly generated numbers can be determined.

## random.setstate()

The `setstate()` method of the `random` module is used in conjugation with the `getstate()` method. After using the `getstate()` method to capture the state of the random number generator, the `setstate()` method is used to restore the state of the random number generator back to the specified state.

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

The `setstate()` method requires a state object as a parameter which can be obtained by invoking the `getstate()` method.

Example 1:

 `# import the random module``import` `random`` ` `# capture the current state``# using the getstate() method``state ``=` `random.getstate()`` ` `# print a random number of the``# captured state``num ``=` `random.random()``print``(``"A random number of the captured state: "``+` `str``(num))`` ` `# print another random number``num ``=` `random.random()``print``(``"Another random number: "``+` `str``(num))`` ` `# restore the captured state``# using the setstate() method``# pass the captured state as the parameter``random.setstate(state)`` ` `# now printing the same random number``# as in the captured state``num ``=` `random.random()``print``(``"The random number of the previously captured state: "``+` `str``(num))`

Output:

A random number of the captured state: 0.8059083574308233
Another random number: 0.46568313950438245
The random number of the previously captured state: 0.8059083574308233

Example 2:

 `# import the random module``import` `random`` ` ` ` `list1 ``=` `[``1``, ``2``, ``3``, ``4``, ``5``]  `` ` `# capture the current state``# using the getstate() method``state ``=` `random.getstate()`` ` `# Prints list of random items of given length ``print``(random.sample(list1, ``3``)) `` ` `# restore the captured state``# using the setstate() method``# pass the captured state as the parameter``random.setstate(state)`` ` `# now printing the same list of random``# items``print``(random.sample(list1, ``3``)) `

Output:

```[5, 2, 4]
[5, 2, 4]```

My Personal Notes arrow_drop_up