0

我正在尝试从 python 列表中检索一个随机字符串来构建一个单词猜测挑战。我在阿里云 ECS 实例上部署了 anaconda 环境。

我经常使用以下方法从列表中检索随机字符串。

比方说

WordStack=['A','B','C','D']
print(WordStack[random.randint(len(WordStack))])

是否有任何优化的方式或内置功能可以做到这一点?由于字数较多,需要一段时间才能给出结果。

4

2 回答 2

2

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

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

话虽如此,我没想到它会对流程的速度产生如此大的影响。但是如果我找到时间我会测试它。

于 2018-11-26T15:39:43.240 回答
0

您可以尝试使用 random.randrange() 而不是 random.randint()。

随机.randrange():

从范围(开始,停止,步骤)中返回一个随机选择的元素。这等效于choice(range(start, stop, step)),但实际上并不构建范围对象。

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

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

所以等效的语句是:

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

于 2018-11-26T15:45:42.077 回答