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:

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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))

chevron_right


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:

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)) 

chevron_right


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.