取随机值
随机生成下一个实数,在[0, 1]范围内
In [5]: random.random() Out[5]: 0.5265427803029777
随机生成下一个实数,在[a, b]范围内
random.random(a, b)
1-3之间
In [7]: random.randint(1, 3) Out[7]: 3 In [8]: random.randint(1, 3) Out[8]: 2 In [9]: random.randint(1, 3) Out[9]: 1 In [10]: random.randint(1, 3) Out[10]: 2 In [11]: random.randint(1, 3) Out[11]: 2
randrange([start], stop, [step])
基数缺省值为1
In [18]: random.randrange(1, 3) Out[18]: 1 In [19]: random.randrange(1, 3) Out[19]: 1 In [20]: random.randrange(1, 3) Out[20]: 2 In [21]: random.randrange(1, 3) Out[21]: 1
In [32]: random.randrange(1, 7, 2) Out[32]: 3
random.choice(seq)
从非空序列的元素中随机挑选一个元素
In [22]: random.choice('hello') Out[22]: 'e' In [23]: random.choice('hello') Out[23]: 'l' In [24]: random.choice('hello') Out[24]: 'o' In [25]: random.choice([1, 2, 3]) Out[25]: 1 In [26]: random.choice([1, 2, 3]) Out[26]: 1
random.sample(seq, k)
从样本序列中随机挑选k个元素,返回新的列表
In [27]: random.sample('hello', 2) Out[27]: ['l', 'l'] In [28]: random.sample('hello', 2) Out[28]: ['l', 'h'] In [29]: random.sample('hello', 2) Out[29]: ['h', 'e'] In [30]: random.sample('hello', 2) Out[30]: ['e', 'h']
In [31]: random.uniform(1, 3) Out[31]: 2.039522432404592 In [32]: random.uniform(1, 3) Out[32]: 2.0421261888899847 In [33]: random.uniform(1, 3) Out[33]: 1.0705082811151863
将序列的所有元素随机排序
random.shuffle(seq)
洗牌功能
In [34]: L = [1, 2, 3, 4, 5, 6] In [35]: random.shuffle(L) In [36]: L Out[36]: [1, 3, 4, 6, 5, 2]
import random checkcode = '' for i in range(4): current = random.randrange(0, 4) if current == i: tmp = chr(random.randint(65, 90)) else: tmp = random.randint(0, 9) checkcode += str(tmp) print(checkcode)
random.seed(x) 通过改变随机数生成器的种子.
随机生成符合高斯分布的随机数,mu, sigma为高斯分布的两个参数
random.gauss(mu, sigma)
随机生成符合指数分布的随机数,lambd为指数分布的参数
random.expovariate(lambd)