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进阶教程之函数参数的多种传递方法
Aug 30 Python
详解python 发送邮件实例代码
Dec 22 Python
Python数据结构之顺序表的实现代码示例
Nov 15 Python
使用Python进行AES加密和解密的示例代码
Feb 02 Python
python爬虫基本知识
Mar 05 Python
Python Json模块中dumps、loads、dump、load函数介绍
May 15 Python
儿童学习python的一些小技巧
May 27 Python
学习Python列表的基础知识汇总
Mar 10 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
Oct 28 Python
Django配置跨域并开发测试接口
Nov 04 Python
matplotlib部件之套索Lasso的使用
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数组应该有多大的分析
2009/07/30 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
php实现的短网址算法分享
2014/06/20 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
twig模板常用语句实例小结
2016/02/04 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
js中的前绑定和后绑定详解
2013/08/01 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
代码分析vue中如何配置less
2018/09/28 Javascript
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
nodejs实现百度舆情接口应用示例
2020/02/07 NodeJs
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
Python中基础的socket编程实战攻略
2016/06/01 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
简历中的自我评价范文
2014/02/05 职场文书
《月光启蒙》教学反思
2014/03/01 职场文书
公司经理任命书
2014/06/05 职场文书
2014年教师节寄语
2014/08/11 职场文书
企业法人授权委托书
2014/09/25 职场文书
教师学期末个人总结
2015/02/13 职场文书
信访维稳承诺书
2015/05/04 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python