我有以下数字:
100,200,300,400 ... 20000
我想在该范围内选择一个随机数。同样,该范围定义为100:100:20000。此外,通过说“在该范围内”,我并不是指从100-> 20000中随机选择一个数字,例如105.我的意思是从可用数字列表中随机选择一个数字,该列表定义为100 :100:20000。
我将如何在Python中执行此操作?
答案 0 :(得分:15)
random.randrange(100, 20001, 100)
答案 1 :(得分:6)
对于Python 3:
import random
random.choice(range(100, 20100, 100))
答案 2 :(得分:2)
来自python手册:
random.randrange([start], stop[, step])
从范围(开始,停止,步骤)返回随机选择的元素。这个 相当于选择(范围(开始,停止,步)),但不是 实际上构建了一个范围对象。
答案 3 :(得分:1)
这样做
print random.choice(xrange(100, 20100, 100);
但这可能更好:
print int(round(random.randint(100, 200001),-2))
@ mouad的回答对我来说是最好的。
修改强>
出于好奇,我尝试了这个答案与random.randint(1, 2001) * 100
的基准测试,结果却完全相同。 1M次迭代的差异大约是1 - 2百分之一秒。