繁体   English   中英

除了在索引中使用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():

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

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

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

因此,等效语句为:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM