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类装饰器用法实例
Jun 04 Python
Python排序搜索基本算法之选择排序实例分析
Dec 09 Python
Python实现的线性回归算法示例【附csv文件下载】
Dec 29 Python
python 将大文件切分为多个小文件的实例
Jan 14 Python
Python3列表内置方法大全及示例代码小结
May 10 Python
PyCharm2019安装教程及其使用(图文教程)
Sep 29 Python
wxPython:python首选的GUI库实例分享
Oct 05 Python
Python matplotlib以日期为x轴作图代码实例
Nov 22 Python
Python切割图片成九宫格的示例代码
Mar 10 Python
Python根据指定文件生成XML的方法
Jun 29 Python
Keras模型转成tensorflow的.pb操作
Jul 06 Python
matplotlib相关系统目录获取方式小结
Feb 03 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生成WAP页面
2006/10/09 PHP
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
PHP中的array数组类型分析说明
2010/07/27 PHP
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
js判断浏览器类型的方法
2013/08/07 Javascript
AngularJS快速入门
2015/04/02 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
jquery实现选项卡切换代码实例
2019/05/14 jQuery
node.js实现上传文件功能
2019/07/15 Javascript
详解微信小程序支付流程与梳理
2019/07/16 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
python迭代器实例简析
2014/09/25 Python
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
Python标准库之sqlite3使用实例
2014/11/25 Python
python 爬取微信文章
2016/01/30 Python
python各种语言间时间的转化实现代码
2016/03/23 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
中软Java笔试题
2012/11/11 面试题
大学应届生求职简历的自我评价
2013/10/08 职场文书
测量工程专业求职信
2014/02/24 职场文书
青春励志演讲稿
2014/04/29 职场文书
和谐社区口号
2014/06/19 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
治庸问责心得体会
2014/09/12 职场文书
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
如何正确理解python装饰器
2021/06/15 Python