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代码的打包与发布详解
Jul 30 Python
Python正则替换字符串函数re.sub用法示例
Jan 19 Python
在python中pandas的series合并方法
Nov 12 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
Dec 12 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
Dec 21 Python
对Django 转发和重定向的实例详解
Aug 06 Python
详解python tkinter模块安装过程
Jan 06 Python
python实现密码强度校验
Mar 18 Python
基于python实现数组格式参数加密计算
Apr 21 Python
Pandas之read_csv()读取文件跳过报错行的解决
Apr 21 Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 Python
Python的Tqdm模块实现进度条配置
Feb 24 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 Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
php 数组的创建、调用和更新实现代码
2009/03/09 PHP
PHP生成随机密码类分享
2014/06/25 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
2020/02/07 PHP
javascript GUID生成器实现代码
2009/10/31 Javascript
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
AlertBox 弹出层信息提示框效果实现步骤
2010/10/11 Javascript
URL地址中的#符号使用说明
2011/02/12 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
利用a标签自动解析URL分析网址实例
2014/10/20 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
js实现文件上传功能 后台使用MultipartFile
2018/09/08 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
修改NPM全局模式的默认安装路径的方法
2020/12/15 Javascript
Python类的动态修改的实例方法
2017/03/24 Python
Python解惑之True和False详解
2017/04/24 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
Python制作词云图代码实例
2019/09/09 Python
基于h5py的使用及数据封装代码
2019/12/26 Python
python 实现&quot;神经衰弱&quot;翻牌游戏
2020/11/09 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
官僚主义现象查摆问题整改措施
2014/10/04 职场文书
门卫岗位职责
2015/02/09 职场文书
月考总结与反思
2015/10/22 职场文书
解析python中的jsonpath 提取器
2022/01/18 Python
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby