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 相关文章推荐
pygame学习笔记(3):运动速率、时间、事件、文字
Apr 15 Python
python中的闭包用法实例详解
May 05 Python
Python读写txt文本文件的操作方法全解析
Jun 26 Python
Python机器学习之决策树算法
Dec 22 Python
python3.6使用pymysql连接Mysql数据库
May 25 Python
python实现DEM数据的阴影生成的方法
Jul 23 Python
python 导入数据及作图的实现
Dec 03 Python
python识别验证码图片实例详解
Feb 17 Python
python3+opencv生成不规则黑白mask实例
Feb 19 Python
Python 制作自动化翻译工具
Apr 25 Python
python 中[0]*2与0*2的区别说明
May 10 Python
教你使用pyinstaller打包Python教程
May 27 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
php-msf源码详解
2017/12/25 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
jQuery form插件的使用之处理server返回的JSON, XML,HTML数据
2016/01/26 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
Vue官网todoMVC示例代码
2018/01/29 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
利用Python抓取行政区划码的方法
2016/11/28 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
python实现两个文件夹的同步
2019/08/29 Python
python实现银行管理系统
2019/10/25 Python
Python数据持久化存储实现方法分析
2019/12/21 Python
pytorch快速搭建神经网络_Sequential操作
2020/06/17 Python
python如何实现读取并显示图片(不需要图形界面)
2020/07/08 Python
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
艺术应用与设计个人的自我评价
2013/11/23 职场文书
组织关系转移介绍信
2014/01/16 职场文书
网球场地租赁协议范本
2014/10/07 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
员工自我评价范文
2015/03/11 职场文书
警告通知
2015/04/25 职场文书
党支部评议意见
2015/06/02 职场文书
2019入党申请书格式
2019/06/25 职场文书