random库20种函数介绍,作用于重现、整数、序列和实数
- random库
-
-
- 1. Bookkeeping functions(可用于重现的函数)
- 2. 可应用于整数的函数
- 3. 可应用于序列的函数
- 4. real-valued attribution(可应用于实数的函数)
-
- 4.1 random.random()
- 4.2 random.uniform(a,b)
- 4.3 random.triangular(low, high, mode)
- 4.4 random.betavariate(alpha, beta)
- 4.5 random.expovariate(lambd)
- 4.6 random.gammavariate(alpha, beta)
- 4.7 random.gauss(mu, sigma)
- 4.8 random.lognormvariate(mu, sigma)
- 4.9 random.normalvariate(mu, sigma)
- 4.10 random.vonmisesvariate(mu, kappa)
- 4.11 random.paretovariate(alpha)
- 4.12 random.weibullvariate(alpha, beta)
- 可定义生成器
- 数据的重现性
-
random库
学习资源: https://docs.python.org/3.7/library/random.html
random主要用于生成随机数,实现各种分布的伪随机数生成器。

1. Bookkeeping functions(可用于重现的函数)
1.1 random.seed(a=None,version=2)
将random产生的随机数固定,当a=None或缺失时,由系统任意生成,version=2可以忽略。
1.2 random.getstate()
获得当前的随机数产生模式,即random.seed()中的a值。
1.3 random.setstate(state)
state是random.getstate()得到的结果,将随机数产生模式固定为state对应的模式
import random
state = random.getstate() # 获得环境自动决定的产生随机数模式,保存为state
t1 = random.randrange(10) # 在当前模式下产生一个随机数
random.seed(19970509) # 自己决定的产生随机数模式,a=19970509
t2 = random.randrange(10) # 在19970509模式下产生一个随机数
random.setstate(state) # 再次将模式调整为state
t3 = random.randrange(10) # 在state模式下生成一个随机数
print(t1)
print(t2)
print(t3)
运行结果中,你会发现,t1和t3的值始终相同并且变化,而t2的值永远恒定。
2. 可应用于整数的函数
2.1 random.randrange(stop)/random.randrange(start,stop[,step])
从限定的范围内返回一个随机整数值
import random
t1 = random.randrange(10) # 限定范围为0-10
t2 = random.randrange(1,20,5) # 限定范围为[1,6,11,16]
t3 = random.randrange(1,20) # 限定范围为1-20
print(t1)
print(t2)
print(t3)
3. 可应用于序列的函数
3.1 random.choice(seq)
从一个序列seq中返回一个随机元素,该seq不可空。否则会抛出IndexError异常
import random
seq1 = [1, 4.4, 45, 5, 78]
seq2 = ['第一', '三号', 'mingzhu', '人间失格']
seq3 = [1, 4, 5, '斜阳']
t1 = random.choice(seq1)
t2 = random.choice(seq2)
t3 = random.choice(seq3)
print(t1)
print(t2)
print(t3)
3.2 random.choices(population, weights=None, *,cum_weights=None, k=1)
从population中挑选出k个元素,作为列表返回,population不可为空,否则IndexError异常
weights表示权重;cum_weights表示累积权重。如果两个都不指定,则随机概率均等;如果要指定,则必须要和population元素数相同。注意,同时指定会抛出TypeError异常。
import random
population


3293

被折叠的 条评论
为什么被折叠?



