我正在尝试从python列表中检索随机字符串以构建单词猜测挑战。我在阿里云ECS实例上部署了anaconda环境。
我经常使用以下方法从列表中检索随机字符串。
说
WordStack=['A','B','C','D']
print(WordStack[random.randint(len(WordStack))])
是否有优化的方法或内置功能来做到这一点?由于单词过多,得出结果要花一些时间。
答案 0 :(得分:2)
看看random.choice
确实满足您的需求。对于您的情况,它看起来像这样:
WordStack = ['A','B','C','D']
random_str = random.choice(WordStack)
print(random_str) # -> whatever
话虽如此,我不希望它对处理速度产生如此大的影响。但是,如果我有时间,我会测试一下。
答案 1 :(得分:0)
您可以尝试使用random.randrange()代替random.randint()。
random.randrange():
从范围(开始,停止,步进)中返回随机选择的元素。这等同于选择(范围(开始,停止,步进)),但是实际上并没有建立范围对象。
来自https://docs.python.org/3/library/random.html#random.randrange
我不知道有任何内置函数可以做到这一点。
因此等效的语句为:
WordStack[random.randrange(len(WordStack))]