點評:送人頭的題目,因為Python標準庫中的常用模塊應(yīng)該是Python開發(fā)者都比較熟悉的內(nèi)容,這個問題回如果答不上來,整個面試基本也就砸鍋了。
1. random.random()函數(shù)可以生成[0.0, 1.0)之間的隨機浮點數(shù)。
2. random.uniform(a, b)函數(shù)可以生成[a, b]或[b, a]之間的隨機浮點數(shù)。
3. random.randint(a, b)函數(shù)可以生成[a, b]或[b, a]之間的隨機整數(shù)。
4. random.shuffle(x)函數(shù)可以實現(xiàn)對序列x的原地隨機亂序。
5. random.choice(seq)函數(shù)可以從非空序列中取出一個隨機元素。
6. random.choices(population, weights=None, *, cum_weights=None, k=1)函數(shù)可以從總體中隨機抽取(有放回抽樣)出容量為k的樣本并返回樣本的列表,可以通過參數(shù)指定個體的權(quán)重,如果沒有指定權(quán)重,個體被選中的概率均等。
7. random.sample(population, k)函數(shù)可以從總體中隨機抽取(無放回抽樣)出容量為k的樣本并返回樣本的列表。
擴展:random模塊提供的函數(shù)除了生成均勻分布的隨機數(shù)外,還可以生成其他分布的隨機數(shù),例如 random.gauss(mu, sigma)函數(shù)可以生成高斯分布(正態(tài)分布)的隨機數(shù); random.paretovariate(alpha)函數(shù)會生成帕累托分布的隨機數(shù); random.gammavariate(alpha, beta)函數(shù)會生成伽馬分布的隨機數(shù)。