在Python中,random
模塊提供了生成隨機數的各種方法。這些隨機數可以用來進行模擬、隨機選擇、隨機排列等多種操作。接下來我們介紹一些常用的隨機數生成和操作方法。
random.random()
生成一個位於 (0.0, 1.0) 區間的隨機浮點數。
import random
result = random.random()
print(f"隨機浮點數: {result}")
random.uniform(a, b)
生成一個位於[a, b]
區間的隨機浮點數。
result = random.uniform(1.5, 5.5)
print(f"隨機浮點數在1.5到5.5之間: {result}")
random.randint(a, b)
生成一個位於[a, b]
區間的隨機整數,包含兩端。
result = random.randint(1, 10)
print(f"隨機整數在1到10之間: {result}")
random.randrange(start, stop[, step])
從start
到stop-1
的範圍內,根據step
選擇一個隨機整數。step
是可選參數,默認為1。
result = random.randrange(0, 100, 5)
print(f"隨機整數在0到100之間(步長為5): {result}")
random.choice(seq)
從非空序列(如列表、元組、字符串等)中隨機選擇一個元素。
choices = ['apple', 'banana', 'cherry', 'date']
result = random.choice(choices)
print(f"隨機選擇的水果: {result}")
random.choices(seq, k=N)
從序列中隨機選擇k
個元素,並返回一個列表,元素可以重複。
choices = ['apple', 'banana', 'cherry', 'date']
result = random.choices(choices, k=3)
print(f"隨機選擇的三個水果: {result}")
random.sample(seq, k)
從序列中隨機選擇k
個不同的元素,並返回一個列表,不允許重複。
choices = ['apple', 'banana', 'cherry', 'date']
result = random.sample(choices, 2)
print(f"隨機選擇的兩個不同水果: {result}")
random.shuffle(seq)
將序列的元素隨機打亂順序,並直接修改原序列。
numbers = [1, 2, 3, 4, 5]
random.shuffle(numbers)
print(f"打亂順序後的列表: {numbers}")
random.gauss(mu, sigma)
生成符合高斯分布(正態分布)的隨機浮點數。mu
是均值,sigma
是標準差。
result = random.gauss(0, 1) # 均值0,標準差1的高斯分布
print(f"高斯分布隨機數: {result}")
random
模塊還提供了其他常見的隨機分布方法,如:
random.expovariate(lambd)
:指數分布。random.betavariate(alpha, beta)
:Beta 分布。random.gammavariate(alpha, beta)
:Gamma 分布。可以使用random.seed()
設置隨機數種子來生成可重現的隨機數序列。相同的種子值將生成相同的隨機數。
random.seed(42) # 設置隨機種子
result1 = random.random()
result2 = random.random()
print(f"隨機數1: {result1}, 隨機數2: {result2}")