«random» — это простой математический модуль, но он предоставляет множество продвинутых методов, связанных с теориями вероятностей. Он может моделировать случайный выбор из набора элементов, случайным образом перемешивать список и даже генерировать набор случайных числовых или нечисловых элементов.
from random import *
Определить список для тестирования
myList = [1,5,8,9,23,9,7,8,91,2,5,9,94,8,5]
случайные методы:
random() # returns a random number between 0 and 1 randint(1, 6) # return a number randomly between 1 to 6 randrange(6) # return random integer from 0 to 6 randrange(0, 100, 2) # return random integer from 0 to 100 but with taking steps of 2 (0, 2, 4, 6, …) choice(myList) # return an element randomly from the list choices(myList, k=10) # choose 10 element randomly from the list with equal probability sample(myList, k=10) # choose 10 unique element randomly from the list sample(["red", "blue"], counts=[4, 2], k=3) # duplicate the samples with the corresponding samples, # and choose 3 unique element randomly from this list: [“red”, “red”, “red”, “red”, “blue” , “blue”] shuffle(myList) # shuffle (change positions) of the elements in the list
Сложные случайные методы
gauss(5, 20) # generates a Gaussian distribution float number, # (5) is the mean (mu), (20) is the standard deviation (sigma) # --- System Random --- rnd = SystemRandom() # create a system random object rnd.getrandbits(2) # generate a random integer which its binary value consists of (2) digits: [0, 1, 2 ,3] # because their corresponding binary values are: # [00, 01, 10, 11] all of which consists of 2 binary digits rnd.randbytes(3) # generates 3 random bytes, such: # b'0i)' # b'\x0f\xb7\xda'
Первоначально опубликовано на https://mustafahasanat.blogspot.com 30 марта 2022 г.