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画ROC曲线和AUC值计算
Sep 19 Python
获取Django项目的全部url方法详解
Oct 26 Python
python实现微信跳一跳辅助工具步骤详解
Jan 04 Python
Scrapy框架使用的基本知识
Oct 21 Python
解决python文件双击运行秒退的问题
Jun 24 Python
浅谈python图片处理Image和skimage的区别
Aug 04 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
Aug 13 Python
python 实现turtle画图并导出图片格式的文件
Dec 07 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
Python实现http接口自动化测试的示例代码
Oct 09 Python
浅析python字符串前加r、f、u、l 的区别
Jan 24 Python
python源码剖析之PyObject详解
May 18 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字符串过滤,转换函数代码
2012/05/01 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
php cookie 详解使用实例
2016/11/03 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
AlertBox 弹出层信息提示框效果实现步骤
2010/10/11 Javascript
StringTemplate遇见jQuery冲突的解决方法
2011/09/22 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
2013/04/08 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
2013/04/24 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
详解webpack3如何正确引用并使用jQuery库
2017/08/26 jQuery
webpack的CSS加载器的使用
2018/09/11 Javascript
为什么要使用Vuex的介绍
2019/01/19 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
微信小程序 简易计算器实现代码实例
2019/09/02 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
python使用socket向客户端发送数据的方法
2015/04/29 Python
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
Django中使用haystack+whoosh实现搜索功能
2019/10/08 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
教师业务培训方案
2014/05/01 职场文书
公司建议书怎么写
2014/05/15 职场文书
车间主任岗位职责
2015/02/03 职场文书
护士辞职信怎么写
2015/02/27 职场文书
休学证明范本
2015/06/19 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
SQL Server连接查询的实用教程
2021/04/07 SQL Server
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python
关于Redis的主从复制及哨兵问题
2022/06/16 Redis