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中使用ConfigParser解析ini配置文件实例
Aug 30 Python
Python打造出适合自己的定制化Eclipse IDE
Mar 02 Python
你眼中的Python大牛 应该都有这份书单
Oct 31 Python
Python之文字转图片方法
May 10 Python
python 自动去除空行的实例
Jul 24 Python
Django进阶之CSRF的解决
Aug 01 Python
Python面向对象之静态属性、类方法与静态方法分析
Aug 24 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 Python
解决python运行启动报错问题
Jun 01 Python
python爬虫要用到的库总结
Jul 28 Python
vscode配置anaconda3的方法步骤
Aug 08 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
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
PHP copy函数使用案例代码解析
2020/09/01 PHP
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
javascript下查找父节点的简单方法
2007/08/13 Javascript
jquery 问答知识整理
2010/02/11 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
详解webpack3编译兼容IE8的正确姿势
2017/12/21 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
JavaScript闭包原理与用法实例分析
2018/08/10 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
js实现小星星游戏
2020/03/23 Javascript
arcgis.js控制地图地体的显示范围超出区域自动弹回(实现思路)
2021/01/28 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
python调用win32接口进行截图的示例
2020/11/11 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
怎样写好自我鉴定
2013/12/04 职场文书
2014的自我评价
2014/01/13 职场文书
秘书英文求职信范文
2014/01/31 职场文书
倡议书的写法
2014/08/30 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
浅谈Redis中的RDB快照
2021/06/29 Redis