random 模块,实现了各种分布下的伪随机数生成器。对于整数,可以从一个范围中随机挑选;对于序列,可以随机挑选其中的元素但不改变原序列,也可以对序列中的元素进行重新排列。此外,模块还封装了各种分布函数(uniform, normal (Gaussian), lognormal, negative exponential, gamma, beta distributions)等
模块中生成随机数主要有以下几种方法:
random.random():生成[0.0, 1.0)中一个随机浮点数
random.uniform(a, b):生成 a 到 b(包括a,b)之间的一个随机浮点数
random.randrange(stop):生成 range(stop) 中一个整数
random.randrange(start, stop[, step]):生成 range(start, stop[, step]) 中一个整数
random.randint(a, b):生成 a 到 b(包括a,b)之间的一个整数
random.choice(seq):从 seq 序列中随机选择一个元素
random.shuffle(x[, random]):对序列 x 进行洗牌,重新排列,但是由于总排列数太多,会有一些排列永远不会生成
random.sample(population, k):从序列 population 中随机采样 k 个元素,返回一个列表,元素按挑选次序排列
模块内置的各种概率分布不一一列举,详见 https://docs.python.org/2/library/random.html
此外模块还提供自定义 random.Random 对象,但是没有看懂,和随机算法有关
----------------
坚持每天学习一点点
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步