Python怎样从列表list中随机的选择一个元素

假设我有一个list,那么怎样随机的从这个list中随机的读取一个元素呢?

最简单的办法是使用random.choice:

import random

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

在实际应用中,例如要从密码列表中中随机的生成密码,使用random.SystemRandom:

import random

foo = ['battery', 'correct', 'horse', 'staple']
secure_random = random.SystemRandom()
print(secure_random.choice(foo))

当然也可以先生成一个随机的index然后读取该元素:

foo = ['a', 'b', 'c', 'd', 'e']
from random import randrange
random_index = randrange(0,len(foo))
print foo[random_index]

By Code问答

发表评论

电子邮件地址不会被公开。 必填项已用*标注

70 − 63 =