Python实现随机选择元素功能
如果要从序列中随机挑选元素,我们可以使用random模块的random.choice()方法:
如果想要取出N个元素,将选出的元素一处以做进一步的考察,可以使用random.sample()方法:
如果我们只是想要打乱序列的顺序(洗牌),可以使用random.shuffle():
要产生随机数,可以使用random.randint()方法:
如果要产生0-1之间均匀分布的浮点数值,可以使用random.random()方法:
如果要得到N各随机比特位所表示的整数,可以使用random.getrandbits()方法:
请注意:
random模块使用 马特赛特旋转演算法(Mersenne Twister,也称作梅森旋转算法)来计算随机数,这是一个确定性算法,但是可以通多random.seed()函数来修改出事的种子值
random.seed() #基于系统时间或者是os.urandom()函数 random.seed(6666) #基于给定整数 random.seed(b'bytes') #基于给定的字节数据
random模块除了随机数的应用之外还可以用来计算均匀分布、高斯分布和其他概率分布
random.uniform #计算均匀分布 random.gauss() #计算高斯分布(正态分布)
注意:请不要将random模块用在和加密相关的程序中,如果有这样的应用需求,请考虑使用ssl模块中的函数来进行替代,例如:
ssl.RAND_bytes() #用来生成加密安全的随机字节序列
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
成功解决ValueError: Supported target types are:('binary
本文给大家分享成功解决ValueError: Supported target types are:('binary', 'multiclass'). Got 'continuous' instead.的错误问题,需要的朋友可以参考下2023-03-03OneFlow源码解析之Eager模式下Tensor存储管理
这篇文章主要为大家介绍了OneFlow源码解析之Eager模式下Tensor的存储管理实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-04-04Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
这篇文章主要介绍了Python实现的服务器,结合实例形式分析了Python实现单进程、多进程、多线程、非阻塞式服务器的相关操作技巧,需要的朋友可以参考下2019-05-05
最新评论