random
模块是Python
标准库的一部分,提供了多种生成随机数的函数。
随机数生成
random.random()
: 生成一个[0.0, 1.0)
范围内的随机浮点数。
import random
print(random.random()) # 输出:0.123456789 (示例)
random.uniform(a, b)
: 生成一个[a, b]
范围内的随机浮点数。
print(random.uniform(1.5, 2.5)) # 输出:1.789 (示例)
序列操作
从非空序列中随机选择一个元素
random.choice(seq)
: 从非空序列中随机选择一个元素。
fruits = ["apple", "banana", "cherry"]
print(random.choice(fruits)) # 输出:"banana" (示例)
从序列中随机选择 k 个元素
random.choices(population, weights=None, k=1)
: 从序列中随机选择k
个元素(可重复),weights
可指定权重。
print(random.choices(fruits, k=2)) # 输出:["cherry", "apple"] (示例)
从序列中随机选择 k 个不重复的元素。
random.sample(population, k)
: 从序列中随机选择k
个不重复的元素。
print(random.sample(fruits, 2)) # 输出:["banana", "cherry"] (示例)
将序列中的元素随机打乱
numbers = [1, 2, 3, 4, 5]
random.shuffle(numbers)
print(numbers) # 输出:[3, 1, 5, 2, 4] (示例)
设置随机种子
print(random.random()) # 输出:0.6394267984578837
实际应用示例
随机密码生成
import string
def generate_password(length=8):
characters = string.ascii_letters + string.digits + string.punctuation
return ''.join(random.choices(characters, k=length))
print("Your password:", generate_password(10))
数据采样
data = list(range(100))
sample = random.sample(data, 10)
print("Sampled data:", sample)