Если вы хотите случайным образом выбрать более одного элемента из списка или выбрать элемент из набора, я бы рекомендовал использовать random.sample вместо этого.
import random group_of_items = {'a', 'b', 'c', 'd', 'e'} # a sequence or set will work here. num_to_select = 2# set the number to select here. list_of_random_items = random.sample(group_of_items, num_to_select) first_random_item = list_of_random_items[0] second_random_item = list_of_random_items[1]
Однако, если вы извлекаете только один элемент из списка, выбор будет менее громоздким, поскольку при использовании sample будет использоваться синтаксис random.sample(some_list, 1)[0] вместо random.choice(some_list).
К сожалению, выбор работает только для одного вывода из последовательностей (таких как списки или кортежи). Хотя random.choice(tuple(some_set)) может быть вариант получения одного элемента из набора.
РЕДАКТИРОВАТЬ: использование секретов
Как многие указывали, если вам требуются более безопасные псевдослучайные выборки, вам следует использовать модуль secrets:
import secrets # imports secure module. secure_random = secrets.SystemRandom() # creates a secure random object. group_of_items = {'a', 'b', 'c', 'd', 'e'} # a sequence or set will work here. num_to_select = 2# set the number to select here. list_of_random_items = secure_random.sample(group_of_items, num_to_select) first_random_item = list_of_random_items[0] second_random_item = list_of_random_items[1]
РЕДАКТИРОВАТЬ: Pythonic One-Liner
Если вам нужен более питонический однострочник для выбора нескольких элементов, вы можете использовать распаковку.