python random中的随机函数

Python的random模块基于Mersenne Twister算法提供多种随机函数,适用于模拟、游戏等场景但不用于加密。1. random()生成[0.0,1.0)浮点数;2. uniform(a,b)返回a到b间浮点数;3. randint(a,b)返回a到b间整数(含端点);4. randrange(start,stop,step)从指定range中选整数;5. choice(seq)从序列中选一个元素;6. choices(population,weights,k)带权重可重复选取k个;7. sample(population,k)无重复抽取k个;8. shuffle(x)打乱列表顺序。使用seed()可复现实验结果,常用于测试。

python random中的随机函数

Python 的 random 模块提供了多种生成随机数的函数,适用于不同场景下的随机操作。这些函数基于 Mersenne Twister 算法,是一种伪随机数生成器(PRNG),适合模拟、游戏、抽样等用途,但不适用于加密场景(应使用 secrets 模块)。

常用随机函数说明

1. random.random()

返回一个在 [0.0, 1.0) 范围内的随机浮点数。

示例:

import randomprint(random.random())  # 如:0.374540

2. random.uniform(a, b)

立即学习“Python免费学习笔记(深入)”;

返回 a 和 b 之间的随机浮点数(包含 a 和 b,取决于浮点精度)。

示例:

print(random.uniform(1.5, 4.5))  # 如:3.2847

3. random.randint(a, b)

返回 a 和 b 之间的随机整数(包含 a 和 b)。

示例:

print(random.randint(1, 10))  # 如:7

4. random.randrange(start, stop[, step])

从 range(start, stop, step) 中随机选择一个整数,常用于步长控制。

示例:

print(random.randrange(0, 10, 2))  # 从 [0,2,4,6,8] 中选

5. random.choice(seq)

从非空序列中随机选择一个元素。

示例:

fruits = ['apple', 'banana', 'cherry']print(random.choice(fruits))  # 如:'banana'

6. random.choices(population, weights=None, k=1)

返回长度为 k 的列表,允许重复选择,可设置权重。

示例:

print(random.choices(['a','b','c'], k=3))  # 如:['a','c','a']

7. random.sample(population, k)

从序列中无重复地随机选取 k 个元素,返回列表。

示例:

numbers = list(range(10))print(random.sample(numbers, 3))  # 如:[2, 7, 1]

8. random.shuffle(x)

将列表 x 中的元素就地打乱顺序。

示例:

deck = ['A', 'B', 'C', 'D']random.shuffle(deck)print(deck)  # 如:['C', 'A', 'D', 'B']

设置随机种子(可复现结果)

使用 random.seed() 可以设定初始状态,使后续随机结果可复现。

示例:

random.seed(42)print(random.random())  # 每次运行都输出相同的序列

应用场景建议

模拟实验或游戏逻辑时,用 randintchoice需要无重复抽样时,用 sample生成带权重的随机选择,用 choices 并传入 weights确保测试可复现时,记得调用 seed()

基本上就这些,根据实际需求选择合适的方法即可。

以上就是python random中的随机函数的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1380266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月14日 21:38:47
下一篇 2025年12月14日 21:38:52

相关推荐

发表回复

登录后才能评论
关注微信