📅  最后修改于: 2023-12-03 15:19:36.612000             🧑  作者: Mango
Python标准库中的random
模块提供了各种用于生成随机数据的函数。无论是需要生成随机数、随机选择列表中的元素,还是进行概率分布取样,random
模块都能满足你的需求。
使用random.randint(a, b)
函数可以生成一个位于区间 [a, b]
内的随机整数。
import random
random_int = random.randint(1, 10)
print(random_int)
生成的随机整数将会包含a
和b
。
使用random.random()
函数可以生成一个介于 [0, 1)
区间内的随机浮点数。
import random
random_float = random.random()
print(random_float)
使用random.uniform(a, b)
函数可以生成一个位于区间 [a, b]
内的随机浮点数。
import random
random_float = random.uniform(0.5, 2.5)
print(random_float)
使用random.choice([True, False])
函数可以随机选择一个布尔值。
import random
random_bool = random.choice([True, False])
print(random_bool)
使用random.choice(seq)
函数可以从给定的序列 seq
中随机选择一个元素。
import random
my_list = ['apple', 'banana', 'cherry']
random_element = random.choice(my_list)
print(random_element)
使用random.shuffle(seq)
函数可以随机打乱给定序列 seq
中元素的顺序。
import random
my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list)
使用random.choices(population, weights=None, k=1)
函数可以从给定的population
中按照指定的概率分布取样。
import random
fruits = ['apple', 'banana', 'cherry', 'durian']
weights = [0.4, 0.3, 0.2, 0.1]
random_fruit = random.choices(fruits, weights, k=1)
print(random_fruit)
以上示例会按照 [0.4, 0.3, 0.2, 0.1]
的概率分布从 ['apple', 'banana', 'cherry', 'durian']
中取样一个元素。
使用random.choices(population, cum_weights=None, k=1)
函数可以从给定的population
中按照指定的概率分布取样。不同于weights
参数,cum_weights
参数是累计权重,即权重的累积和。
import random
population = [1, 2, 3, 4, 5]
cum_weights = [0.1, 0.3, 0.6, 0.9, 1.0]
random_choice = random.choices(population, cum_weights, k=1)
print(random_choice)
以上示例会按照 [0.1, 0.2, 0.3, 0.4, 0.5]
的概率分布从 [1, 2, 3, 4, 5]
中取样一个元素。
以上是random
模块的一些常见用法。使用random
模块,你可以生成随机数、随机选择列表元素,甚至可以从指定的概率分布中取样。这是一个非常有用的模块,适用于各种需要随机数据的情景。