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中使用sys模板和logging模块获取行号和函数名的方法
Apr 15 Python
pygame学习笔记(4):声音控制
Apr 15 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
python 实现红包随机生成算法的简单实例
Jan 04 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
Python+matplotlib+numpy绘制精美的条形统计图
Jan 02 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
Feb 26 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
python字符串string的内置方法实例详解
May 14 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
在python tkinter界面中添加按钮的实例
Mar 04 Python
Pytest测试框架基本使用方法详解
Nov 25 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
js下函数般调用正则的方法附代码
2008/06/22 PHP
支持中文的php加密解密类代码
2011/11/27 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
php根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
通过action传过来的值在option获取进行验证的方法
2013/11/14 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
利用Python进行异常值分析实例代码
2017/12/07 Python
python实现淘宝秒杀脚本
2020/06/23 Python
Django组件cookie与session的具体使用
2019/06/05 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
python类中super() 的使用解析
2019/12/19 Python
基于python实现文件加密功能
2020/01/06 Python
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
外企测试工程师面试题
2015/02/01 面试题
医学生求职自荐信
2013/10/25 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
运动会报道稿300字
2014/10/02 职场文书
酒店厨房管理制度
2015/08/06 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书