Случайный элемент списка
В этом примере разберём два способа получить случайный элемент из списка на Python: через стандартный модуль random и через криптографически безопасный secrets.
Что нужно знать
Перед изучением примера полезно понимать:
Python: список (list) — списки в Python
Пример 1. Через модуль random
import random
my_list = [1, 'a', 32, 'c', 'd', 31]
print(random.choice(my_list))
Вывод
31
Модуль random позволяет случайным образом выбрать любой элемент списка. В примере выше список my_list передаётся методу choice() как параметр, и тот возвращает один из элементов.
Примечание
Результат может отличаться при каждом запуске — выбор случайный.
Пример 2. Через модуль secrets
import secrets
my_list = [1, 'a', 32, 'c', 'd', 31]
print(secrets.choice(my_list))
Вывод
c
Метод choice() из модуля secrets тоже выбирает случайный элемент списка, но делает это криптографически более надёжно, чем random. Его стоит использовать там, где важна безопасность — например, при генерации паролей или токенов.
Как это работает
В обоих случаях задача одна: вернуть один случайный элемент из переданной последовательности. Разница лишь в источнике случайности: random использует псевдослучайный генератор Mersenne Twister, secrets опирается на источник случайности операционной системы и предназначен для криптографии.