Модуль random в Python використовується для операцій, де потрібне отримання випадкових чисел (значень). Наприклад:
- генерація випадкових чисел
- вибір випадкових елементів зі списку (або іншої послідовності)
- змішування елементів списку (або іншої послідовності)
Опис деяких функцій та приклади використання random
Генерація випадкового числа з плаваючою крапкою в діапазоні (0.0, 1.0):
import random
print(random.random())
# 0.15972710280422675Генерація випадкового цілого числа з визначеного діапазону:
import random
print(random.randint(1, 100))
# 28Вибір випадкового елемента зі списку (або іншої послідовності):
import random
my_list = ['яблуко', 'банан', 'вишня']
print(random.choice(my_list))
# яблукоПеремішати елементи списку (або іншої послідовності):
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list)
# [4, 1, 3, 2, 5]Вибрати n унікальних елементів зі списку (або іншої послідовності):
import random
my_list = ['a', 'b', 'c', 'd', 'e']
print(random.sample(my_list, 3))
# ['c', 'b', 'd']Методи getstate() та setstate()
Методи getstate() та setstate() дозволяють отримати стан генератора, а також встановити його у певний стан. Це може бути корисним, коли потрібно відтворити послідовність випадкових чисел у майбутньому, що можна досягти за рахунок збереження стану генератора у певній точці та його відновлення пізніше:
import random
init_state = random.getstate()
print(random.random())
print(random.random())
random.setstate(init_state)
print(random.random())В цьому прикладі:
- спочатку отримано початковий стан генератору
- виконано дві операції генерації чисел з плаваючою крапкою
- генератору встановлено початковий стан та виконано ще одну операцію random()
Результатом виконання програми буде:
0.018618787260863634
0.0731408276621831
0.018618787260863634Сторінка документації модуля python random, де можна побачити більш просунуті приклади використання можливостей цього модуля:
Python module random documentation