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中装饰器的用法
Apr 27 Python
python中函数默认值使用注意点详解
Jun 01 Python
Python实现输出程序执行进度百分比的方法
Sep 16 Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 Python
windows上安装python3教程以及环境变量配置详解
Jul 18 Python
使用 python pyautogui实现鼠标键盘控制功能
Aug 04 Python
Numpy将二维数组添加到空数组的实现
Dec 05 Python
Python Des加密解密如何实现软件注册码机器码
Jan 08 Python
Python线程条件变量Condition原理解析
Jan 20 Python
win10从零安装配置pytorch全过程图文详解
May 08 Python
Python访问Redis的详细操作
Jun 26 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 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
Array.prototype 的泛型应用分析
2010/04/30 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
vue项目tween方法实现返回顶部的示例代码
2018/03/02 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
python getopt 参数处理小示例
2009/06/09 Python
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
在Python web中实现验证码图片代码分享
2017/11/09 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
Scrapy框架使用的基本知识
2018/10/21 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
2018/10/23 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
汽车电子与维修专业大学生求职信
2013/09/28 职场文书
销售业务员岗位职责
2014/01/29 职场文书
个人现实表现材料
2014/02/04 职场文书
就业协议书样本
2014/08/20 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
vue Element-ui表格实现树形结构表格
2021/06/07 Vue.js
Pytest中skip skipif跳过用例详解
2021/06/30 Python