本文將從以下幾個方面詳細介紹如何使用Python生成隨機數。
一、random模塊的使用
Python內置的random模塊能夠生成偽隨機數,使用該模塊,可以生成隨機數、隨機整數等,同時也可以用於列表洗牌(shuffling)和抽樣(sampling)等操作。
import random
# 生成[a, b]之間的隨機整數
rand_int = random.randint(a, b)
# 生成[0, 1)之間的隨機實數
rand_float = random.random()
# 在序列中隨機選擇一個元素
rand_choice = random.choice(sequence)
# 打亂序列中元素的排列
random.shuffle(sequence)
# 從序列中隨機選取k個元素
rand_sample = random.sample(sequence, k)
二、numpy模塊的使用
除了使用Python內置的random模塊,我們還可以使用第三方庫numpy生成隨機數,numpy提供了多種分布的隨機數生成方式,常用的有:正態分布、均勻分布、二項分布等。
import numpy as np
# 生成[0, 1)之間形狀為(d0, d1, ..., dn)的隨機實數
rand_arr = np.random.rand(d0, d1, ..., dn)
# 生成[a, b)之間形狀為(d0, d1, ..., dn)的隨機實數
rand_uniform = np.random.uniform(a, b, (d0, d1, ..., dn))
# 生成符合正態分布的形狀為(d0, d1, ..., dn)的隨機實數
rand_normal = np.random.normal(mean, std, (d0, d1, ..., dn))
# 生成符合二項分布的形狀為(d0, d1, ..., dn)的隨機實數
rand_binomial = np.random.binomial(n, p, (d0, d1, ..., dn))
三、UUID模塊的使用
如果需要生成唯一的標識符,可以使用Python內置UUID模塊,生成的UUID可以保證在全球範圍內唯一。
import uuid
# 生成UUID
rand_uuid = uuid.uuid4()
四、random函數的使用
Python內置的random()方法可以生成[0, 1)範圍內的隨機實數,多次調用random()方法可以生成隨機序列。
import random
# 生成[0, 1)之間的隨機實數
rand_float = random.random()
五、secrets模塊的使用
Python3.6以後版本的secrets模塊提供了生成真正的隨機數的方法,與Python內置的random模塊相比,secrets更加安全可靠。
import secrets
# 生成[0, 1)之間的隨機實數
rand_float = secrets.randbelow(1)
原創文章,作者:GGZRA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/375124.html