python-如何从列表中随机选择一项?

假设我有以下列表:

foo = ['a', 'b', 'c', 'd', 'e']

怎么能用最简单方法从此列表中随机检索一项?

使用 random.choice():

import random

foo = ['a', 'b', 'c', 'd', 'e']
print(random.choice(foo))

对于加密安全的随机选择(例如,从单词列表生成密码),使用 secrets.choice()

import secrets

foo = ['battery', 'correct', 'horse', 'staple']
print(secrets.choice(foo))

secrets 在 Python 3.6以上可用。在旧版本的 Python 上,可以使用 random.SystemRandom class:

import random

secure_random = random.SystemRandom()
print(secure_random.choice(foo))

如果还需要调用索引,使用 random.randrange

from random import randrange
random_index = randrange(len(foo))
print(foo[random_index])

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据