1.random.random() 随机生成一个大于0小于1的随机数。
print(random.random())0.03064765450719098
2.random.uniform(a,b) 用于生成一个指定范围内的随机浮点数,两个参数其中一个是下限一个是上限。(a
print(random.uniform(1,10))print(random.uniform(10,1))5.8047874067570647.451530865195986
3.random.randint(a, b) 用于生成一个指定范围内的整数,(a<=N<=b)
print(random.randint(1,20))20
4.random.randrange([start], stop[, step]) 从指定范围内,按指定的基数递增的集合中获取一个随机数
print(random.randrange(1,10,2))#相当于从1,3,5,7,9中随机获取一个数
5.random.choice(sequence) 参数sequence表示一个有序类型,从序列中获取一个随机元素。
import randomlis = [1,2,3,4]tup = (5,6,7,8)print(random.choice(lis))print(random.choice(tup))
6.random.shuffle(x[, random]) 用于将一个列表中的元素打乱,即将列表内的元素随机排列。
import randomlis = [1,2,3,4]print(lis)random.shuffle(lis)print(lis)#注意:只能应用于列表,不能用于tuple,dict#output:[1, 2, 3, 4][1, 4, 2, 3]
7.random.sample(sequence, k) 从指定的序列中随机获取指定长度的片断并随机排列,sample函数不会修改原有序列
lis = [1,2,3,4]tup = (5,6,7,8)str = "python is ok"samp_lis = random.sample(lis,3)samp_tup = random.sample(tup,3)samp_str = random.sample(str,3)print(samp_lis)print(samp_tup)print(samp_str)[4, 1, 3][6, 8, 7]['p', 'n', 'k']
8、其他方法
# 三角分布的随机数 random.triangular(low, high, mode)# 高斯分布的随机数(稍快) random.gauss(mu, sigma)# beta β分布的随机数 random.betavariate(alpha, beta)# 指数分布的随机数 random.expovariate(lambd)# 伽马分布的随机数 random.gammavariate(alpha, beta)# 对数正态分布的随机数 random.lognormvariate(mu, sigma)# 正态分布的随机数 random.normalvariate(mu, sigma)# 冯米塞斯分布的随机数 random.vonmisesvariate(mu, kappa)# 帕累托分布的随机数 random.paretovariate(alpha)# 韦伯分布的随机数 random.weibullvariate(alpha, beta)