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使用__slots__让你的代码更加节省内存
Sep 05 Python
python爬虫 urllib模块发起post请求过程解析
Aug 20 Python
Python随机函数库random的使用方法详解
Aug 21 Python
python批量处理文件或文件夹
Jul 28 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
Python接口测试get请求过程详解
Feb 28 Python
在TensorFlow中实现矩阵维度扩展
May 22 Python
Win10下用Anaconda安装TensorFlow(图文教程)
Jun 18 Python
Python编写万花尺图案实例
Jan 03 Python
python 合并多个excel中同名的sheet
Jan 22 Python
Python OpenCV 彩色与灰度图像的转换实现
Jun 05 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
帝国cms目录结构分享
2015/07/06 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
JavaScript 中使用 Generator的方法
2017/12/29 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
2018/01/23 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
简单介绍Python中的len()函数的使用
2015/04/07 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
Django实现web端tailf日志文件功能及实例详解
2019/07/28 Python
python 申请内存空间,用于创建多维数组的实例
2019/12/02 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
Python Merge函数原理及用法解析
2020/09/16 Python
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
加拿大高尔夫超市:Golf Town
2018/01/12 全球购物
数组越界问题
2015/10/21 面试题
大学生学习党课思想汇报
2014/01/03 职场文书
企业整改报告范文
2014/11/08 职场文书
赢在执行观后感
2015/06/16 职场文书
PHP中strval()函数实例用法
2021/06/07 PHP
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js
Golang 遍历二叉树
2022/04/19 Golang