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查看微信好友是否删除自己
Dec 19 Python
Python中函数参数调用方式分析
Aug 09 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
Dec 18 Python
python实现字符串加密 生成唯一固定长度字符串
Mar 22 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
Python Process多进程实现过程
Oct 22 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
Python 实现数组相减示例
Dec 27 Python
Python基于Tkinter编写crc校验工具
May 06 Python
Python 解决相对路径问题:&quot;No such file or directory&quot;
Jun 05 Python
Python3基于plotly模块保存图片表格
Aug 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 已经成熟
2006/12/04 PHP
字母顺序颠倒而单词顺序不变的php代码
2010/08/08 PHP
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
php构造函数的继承方法
2015/02/09 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
WordPress中设置Post Type自定义文章类型的实例教程
2016/05/10 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
javascript克隆对象深度介绍
2012/11/20 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
2016/08/18 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
JS拖拽排序插件Sortable.js用法实例分析
2019/02/20 Javascript
jquery中为什么能用$操作
2019/06/18 jQuery
详解django中使用定时任务的方法
2018/09/27 Python
python 列表推导式使用详解
2019/08/29 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
公休请假条
2014/04/11 职场文书
企业人事任命书
2014/06/05 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
给老婆的保证书怎么写
2015/05/08 职场文书
如何使用CocosCreator对象池
2021/04/14 Javascript