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 Sqlite3以字典形式返回查询结果的实现方法

sqlite3本身并没有像pymysql一样原生提供字典形式的游标。 cursor = conn.cursor(pymysql.cursors.DictCursor) 但官方文...

一波神奇的Python语句、函数与方法的使用技巧总结

一波神奇的Python语句、函数与方法的使用技巧总结

显示有限的接口到外部 当发布python第三方package时,并不希望代码中所有的函数或者class可以被外部import,在__init__.py中添加__all__属性,该list...

对Python3 pyc 文件的使用详解

什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由...

Python实现深度遍历和广度遍历的方法

深度遍历: 原则:从上到下,从左到右 逻辑(本质用递归): 1)、找根节点 2)、找根节点的左边 3)、找根节点的右边 class Node(object): def __init...

python排序函数sort()与sorted()的区别

python 中sorted与sort有什么区别 sort(cmp=None, key=None, reverse=False) sorted(iterable, cmp=None, k...