random.setstate() in Python

`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.

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

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.