Python实现随机选择元素功能

yipeiwu_com6年前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()
#用来生成加密安全的随机字节序列

这里写图片描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python pandas库的安装和创建

python pandas库的安装和创建

pandas 对于数据分析的人员来说都是必须熟悉的第三方库,pandas 在科学计算上有很大的优势,特别是对于数据分析人员来说,相当的重要。python中有了Numpy ,但是Numpy...

用Python实现校园通知更新提醒功能

用Python实现校园通知更新提醒功能

前言 这个项目实已经在一个月前已经完成了,一直都想写一篇博客来总结这个过程中遇到的一些问题。但最近一个月来都比较忙,所以一直拖到了现在。 首先说说起因吧,我没事的时候,总喜欢依次点开学校...

如何实现Django Rest framework版本控制

如何实现Django Rest framework版本控制

前言 首先,我们开发的项目会有多个版本. 其次,我们的项目版本会随着更新越来越多,我们不可能因出了新版本就不维护旧版本了. 那么,我们就需要对版本进行控制——DRF版本控制. 源码剖...

pandas通过loc生成新的列方法

pandas通过loc生成新的列方法

pandas中一个很便捷的使用方法通过loc、iloc、ix等索引方式,这里记录一下: df.loc[条件,新增列] = 赋初始值 如果新增列名为已有列名,则在原来的数据列上改变 i...

Python+numpy实现矩阵的行列扩展方式

Python+numpy实现矩阵的行列扩展方式

对于numpy矩阵,行列扩展有三种比较常用的方法: 1、使用矩阵对象的c_方法扩展列,使用矩阵对象的r_方法扩展行。 2、使用numpy扩展库提供的insert()函数,使用axis参数...