除了在索引中使用 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))]
我正在尝试从 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))]