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的Django框架中的ORM建立查询API
Apr 20 Python
python2.7的编码问题与解决方法
Oct 04 Python
Python 性能优化技巧总结
Nov 01 Python
Python实现的用户登录系统功能示例
Feb 05 Python
python表格存取的方法
Mar 07 Python
flask框架中勾子函数的使用详解
Aug 01 Python
Python学习笔记之列表推导式实例分析
Aug 13 Python
Python全局锁中如何合理运用多线程(多进程)
Nov 06 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
Python3+selenium配置常见报错解决方案
Aug 28 Python
Python列表嵌套常见坑点及解决方案
Sep 30 Python
解决pycharm下载库时出现Failed to install package的问题
Sep 04 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
摩卡咖啡
2021/03/03 咖啡文化
php实现mysql同步的实现方法
2009/10/21 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
swoole_process实现进程池的方法示例
2018/10/29 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
2015/09/09 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
Vue组件通信实践记录(推荐)
2017/08/15 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
2020/03/10 Javascript
OpenLayers实现图层切换控件
2020/09/25 Javascript
使用python实现个性化词云的方法
2017/06/16 Python
基于hashlib模块--加密(详解)
2017/06/21 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
用 Python 制作地球仪的方法
2020/04/24 Python
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
精神文明建设标语
2014/06/16 职场文书
自主招生自荐信格式范文
2015/03/25 职场文书
2015年领班工作总结
2015/04/29 职场文书
因家庭原因离职的辞职信范文
2015/05/12 职场文书
大学生实习证明
2015/06/16 职场文书
小学三年级作文之写景
2019/11/05 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server