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设计】。

相关文章

在类Unix系统上开始Python3编程入门

假设有个python脚本script.py,不管哪种Unix平台,都可以在命令行上通过解释器执行: $ python script.py Unix平台还可以在不明确指定pyth...

Python实现CNN的多通道输入实例

CNN可以同时进行多通道的输入,例如一张彩色图片可以分解成RGB三个通道输入给CNN,当使用自己的数据集时,可以通过numpy来实现数据的多通道输入。 假设我们有两个组数据a和b:...

Python中标准库OS的常用方法总结大全

前言 我们经常会与文件和目录打交道,对于这些操作python提供了一个os模块,里面包含了很多操作文件和目录的函数。在写一些系统脚本或者自动化运维脚本的时候经常会用到这个 os 库,所以...

如何在python字符串中输入纯粹的{}

python的format函数通过{}来格式化字符串 >>> a='{0}'.format(123) >>> a '123' 如果需要在文本中包...

python多线程实现代码(模拟银行服务操作流程)

python多线程实现代码(模拟银行服务操作流程)

1.模拟银行服务完成程序代码 目前,在以银行营业大厅为代表的窗口行业中大量使用排队(叫号)系统,该系统完全模拟了人群排队全过程,通过取票进队、排队等待、叫号服务等功能,代替了人们站队的辛...