python随机模块random的22种函数(小结)
Python的`random`模块是生成伪随机数的关键工具,提供了多种函数来满足不同的随机数需求。以下是`random`模块中22种函数的详细说明: 1. `random.random()`: 这个函数生成一个0到1之间的浮点数,包括0但不包括1。例如:`random.random()`可能会返回`0.7186311708109537`。 2. `random.randint(a, b)`: 返回`a`和`b`之间的一个随机整数,包括`a`和`b`。例如:`random.randint(1, 10)`可能返回`7`。 3. `random.randrange(stop)`、`random.randrange(start, stop[, step])`: 返回指定范围内的一个随机整数。`stop`是必选参数,`start`和`step`是可选参数。例如:`random.randrange(10)`可能返回`3`,`random.randrange(1, 10, 2)`可能返回`7`。 4. `random.uniform(a, b)`: 生成`a`和`b`之间的一个随机浮点数,包含`a`和`b`。例如:`random.uniform(1.5, 2.5)`可能返回`2.143`。 5. `random.choice(seq)`: 从给定的非空序列(列表、元组或字符串)中随机选择一个元素。例如:`random.choice([1, 2, 3, 4, 5])`可能返回`3`。 6. `random.choices(population, weights=None, *, cum_weights=None, k=1)`: 从`population`中按照给定的权重随机选择`k`个元素,返回一个列表。`weights`表示相对权重,`cum_weights`是累加权重。例如:`random.choices([1, 2, 3, 4, 5], k=5)`可能返回`[2, 5, 2, 1, 3]`。 7. `random.shuffle(x)`: 将列表`x`的元素随机排序。例如:`random.shuffle([1, 2, 3, 4, 5])`会改变列表的顺序。 8. `random.sample(population, k)`: 从`population`中无重复地随机选择`k`个元素,返回一个列表。例如:`random.sample([1, 2, 3, 4, 5], 3)`可能返回`[2, 4, 5]`。 9. `random.seed(a=None, version=2)`: 设置随机数生成器的种子。如果`a`未提供,则使用当前时间。这有助于确保每次运行相同代码时得到相同的随机数序列。 10. `random.getstate()`: 获取当前随机数生成器的状态,返回一个可存储的元组。 11. `random.setstate(state)`: 使用给定的状态恢复随机数生成器,允许在不同时间点复现随机数序列。 12. `random.getrandbits(k)`: 返回一个具有`k`位的随机整数,可以是负数。 13. `random.expovariate(lambd=1.0)`: 生成指数分布的随机数,`lambd`是率参数。 14. `random.gammavariate(alpha, beta=1.0)`: 生成伽马分布的随机数,`alpha`是形状参数,`beta`是尺度参数。 15. `random.gauss(mu, sigma)`: 生成高斯(正态)分布的随机数,`mu`是均值,`sigma`是标准差。 16. `random.lognormvariate(mu, sigma)`: 生成对数正态分布的随机数,`mu`是均值,`sigma`是标准差。 17. `random.normalvariate(mu, sigma)`: 类似于`gauss`,生成正态分布的随机数。 18. `random.paretovariate(alpha)`: 生成帕雷托分布的随机数,`alpha`是形状参数。 19. `random.randint(a, b)`: 生成`a`和`b`之间的随机整数,包括`a`和`b`。 20. `random.triangular(left, mode, right)`: 生成三角分布的随机数,`left`和`right`是边界,`mode`是模式。 21. `random.vonmisesvariate(mu, kappa)`: 生成冯·米塞斯分布的随机数,`mu`是平均角位置,`kappa`是浓度参数。 22. `random.weibullvariate(alpha, beta)`: 生成威布尔分布的随机数,`alpha`是尺度参数,`beta`是形状参数。 这些函数广泛应用于模拟、统计分析、游戏开发、加密算法等领域,为程序员提供了强大的随机数生成能力。在使用时,根据具体需求选择合适的函数,可以有效地模拟各种随机行为。