python中的random模块和相关函数详解


Posted in Python onApril 22, 2022

一、random模块简介

Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等,即用来生成随机数。

二、random模块重要函数

(1)random.random()函数

random.random()函数,它会生成一个随机的浮点数,范围是在0.0~1.0之间

>>> import random
>>> print(random.random())
0.2203627723039484
>>> print(random.random())
0.124968990086466
>>> print(random.random())
0.4156471793210381

注意:不能这样写random.Random()

>>> print(random.Random())
<random.Random object at 0x00000236EE7E9A88>

(2)random.randint()函数

random.randint()函数原型为:random.randint(a, b),随机生一个整数int类型,可以指定这个整数的范围,用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。

>>> random.randint(12,23)
12
>>> random.randint(12,23)
19
>>> random.randint(12,12) //随机值不变
12
>>> random.randint(12,12)
12
>>> random.randint(-8,12)
3
>>> random.randint(-8,12)
-6
>>> random.randint(-8,12)
-2

(3)random.uniform()函数

random.uniform()函数的原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,其中一个参数是上限,另一个是参数下限。

>>> random.uniform(2.1,2.8)
2.571350659171257
>>> random.uniform(21,48)
28.09088226941614
>>> random.uniform(48,21) //不推荐这样写,一般来说第一个参数的数值要小于第二个参数的数值
46.42492852213456
>>> random.uniform(-4,21)
7.81666451991304
>>> random.uniform(-4,21)
6.382703447293181
>>> random.uniform(-4.2,2.8)
-0.4436054791279309
>>> random.uniform(-4.2,2.8)
2.7511228545721043

(4)random.randrange()函数

random.randrange()函数的原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。start:开始数值,stop:结束数值,step1:步长,默认为1,可以不写

>>> random.randrange(0,56,8)
24
>>> random.randrange(0,56,8)
40
>>> random.randrange(0,56,5)
55
>>> random.randrange(0,56,5)
15
>>> random.randrange(-8,6,2)
-2
>>> random.randrange(-8,6,2)
4
>>> random.randrange(-8,6) //步长默认为1,此时可以不用写
5
>>> random.randrange(-8,6)

(5)random.choice()函数

random.choice()函数原型为:random.choice(sequence),可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。参数sequence表示一个有序类型。sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。

>>> random.choice("12045ouhuhjn") //字符串
'u'
>>> random.choice("12045ouhuhjn") 
'4'
>>> random.choice((1,5,4,"j",4))  //元组
1
>>> random.choice((1,5,4,"j",4))
5
>>> random.choice([1,4,8,6,0,3])  //列表
4
>>> random.choice([1,4,8,6,0,3])

(6)random.shuffle()函数

random.shuffle()函数的原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。

>>> p = ["Python", "is", "powerful", "simple", "and so on..."]
>>> random.shuffle(p)
>>> print(p)
['powerful', 'Python', 'simple', 'is', 'and so on...']
>>> lst = [1,2,5,4,7]
>>> random.shuffle(lst)
>>> print(lst1)
[4, 7, 5, 2, 1]

(7)random.sample()函数

random.sample()函数的原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断,不作原地修改,返回列表。 如果k大于sequence元素个数的话会报错。

>>> lst = [2,3,5,8,7,9,6,4]
>>> random.sample(lst,5)
[5, 9, 7, 8, 6]
>>> tup = [1,"f",8,"8f",0,7,5,8]
>>> random.sample(tup,4)
[7, '8f', 'f', 8]
>>> str1 = "i love you 1314"
>>> random.sample(str1,4)
['l', 'e', 'o', 'u']

到此这篇关于python中的随机数 Random介绍的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
python抓取网页内容示例分享
Feb 24 Python
python3编写C/S网络程序实例教程
Aug 25 Python
python进阶教程之函数参数的多种传递方法
Aug 30 Python
python脚本实现数据导出excel格式的简单方法(推荐)
Dec 30 Python
对python的输出和输出格式详解
Dec 08 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
Python实现查找数组中任意第k大的数字算法示例
Jan 23 Python
Python函数的默认参数设计示例详解
Dec 01 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
MATLAB数学建模之画图汇总
Jul 16 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 #Python
微信小程序调用python模型
Apr 21 #Python
使用python绘制分组对比柱状图
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
Apr 21 #Python
Python尝试实现蒙特卡罗模拟期权定价
Python matplotlib绘制条形统计图 处理多个实验多组观测值
python绘制简单直方图(质量分布图)的方法
You might like
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
JSON中双引号的轮回使用过程中一定要小心
2014/03/05 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
js断点调试心得分享(必看篇)
2017/12/08 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
JavaScript经典案例之简易计算器
2020/08/24 Javascript
openlayers4.6.5实现距离量测和面积量测
2020/09/25 Javascript
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python中的map()函数和reduce()函数的用法
2015/04/27 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
python读取几个G的csv文件方法
2019/01/07 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
python文字转语音实现过程解析
2019/11/12 Python
Django实现任意文件上传(最简单的方法)
2020/06/03 Python
查看keras的默认backend实现方式
2020/06/19 Python
给Django Admin添加验证码和多次登录尝试限制的实现
2020/07/26 Python
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
JDK安装目录下有哪些内容
2014/08/25 面试题
廉洁自律承诺书
2014/03/27 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
5个pandas调用函数的方法让数据处理更加灵活自如
2022/04/24 Python