1.random.random()
隨機生成一個大於0小於1的隨機數。
print(random.random())
0.03064765450719098
2.random.uniform(a,b)
用於生成一個指定范圍內的隨機浮點數,兩個參數其中一個是下限一個是上限。(a<b)
print(random.uniform(1,10))
print(random.uniform(10,1))
5.804787406757064
7.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 random
lis = [1,2,3,4]
tup = (5,6,7,8)
print(random.choice(lis))
print(random.choice(tup))
6.random.shuffle(x[, random])
用於將一個列表中的元素打亂,即將列表內的元素隨機排列。
import random
lis = [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)