如何从 Python 列表中选择随机字符串?

问题描述 投票:0回答:2

我正在尝试从 Python 列表中获取随机字符串。 (我正在构建一个单词猜测挑战。)

有没有内置函数可以做到这一点?我经常使用

random.randint()
从列表中检索随机字符串:

import random
WordStack=['A','B','C','D']

print(WordStack[random.randint(len(WordStack))])

但是由于单词量很大,速度很慢。

python python-3.x
2个回答
2
投票

看看

random.choice
,它正是您所需要的。对于您的情况,它看起来像这样:

WordStack = ['A','B','C','D']
random_str = random.choice(WordStack)
print(random_str)  # -> whatever

话虽如此,我并不认为它会对过程速度产生如此大的影响。但如果我有时间我会测试一下。


0
投票

你可以尝试 random.randrange() 而不是 random.randint()。

random.randrange():

返回从范围(开始、停止、步骤)中随机选择的元素。这相当于 choice(range(start, stop, step)),但 实际上并没有构建范围对象。

来自 https://docs.python.org/3/library/random.html#random.randrange

我不知道有任何内置函数可以做到这一点。

所以等效的语句是:

WordStack[random.randrange(len(WordStack))]

© www.soinside.com 2019 - 2024. All rights reserved.