如果您想从一个列表中随机选择多个项,或者从一个集合中选择一个项,我建议使用random.sample相反。import random
group_of_items = {1, 2, 3, 4} # 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]
但是,如果您只是从列表中提取一个项目,那么选择就不那么笨重了,因为使用示例将具有如下语法random.sample(some_list, 1)[0]而不是random.choice(some_list).
不幸的是,选择只适用于来自序列(如列表或元组)的单个输出。尽管random.choice(tuple(some_set))可能是从集合中获取单个项的选项。
编辑:使用秘密
正如许多人指出的那样,如果您需要更安全的伪随机示例,则应该使用秘密模块:import secrets # imports secure module.secure_random = secrets.SystemRandom()
# creates a secure random object.group_of_items = {1, 2, 3, 4} # 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]