除了在索引中使用 random.randint() 之外,我如何从 python 列表中选择随机字符串?

How do i choose random string from python list other than using random.randint() in index?

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

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

假设

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

有没有优化的方法或内置函数来做到这一点?由于字数较多,需要一些时间才能给出结果

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

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

话虽如此,我不认为它会对处理速度产生如此大的影响。但是如果我有时间我会测试它。

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

random.randrange():

Return a randomly selected element from range(start, stop, step). This is equivalent to choice(range(start, stop, step)), but doesn’t actually build a range object.

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

我不知道有任何内置函数可以执行此操作。

所以等效语句是:

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