Python中random模块生成随机数详解


Posted in Python onMarch 10, 2016

Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。

random.random

random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0

random.uniform

random.uniform的函数原型为:random.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。

print random.uniform(10, 20) 
print random.uniform(20, 10) 
#---- 结果(不同机器上的结果不一样) 
#18.7356606526 
#12.5798298022

random.randint

random.randint()的函数原型为:random.randint(a, b),用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

print random.randint(12, 20) #生成的随机数n: 12 <= n <= 20 
print random.randint(20, 20) #结果永远是20 
#print random.randint(20, 10) #该语句是错误的。下限必须小于上限。

random.randrange

random.randrange的函数原型为:random.randrange([start], stop[, step]),从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。

random.choice

random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。有关sequence可以查看python手册数据模型这一章。下面是使用choice的一些例子:

print random.choice("学习Python") 
print random.choice(["JGood", "is", "a", "handsome", "boy"]) 
print random.choice(("Tuple", "List", "Dict"))

random.shuffle

random.shuffle的函数原型为:random.shuffle(x[, random]),用于将一个列表中的元素打乱。如:

p = ["Python", "is", "powerful", "simple", "and so on..."] 
random.shuffle(p) 
print p 
#---- 结果(不同机器上的结果可能不一样。) 
#['powerful', 'simple', 'is', 'Python', 'and so on...']

random.sample

random.sample的函数原型为:random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。

list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
slice = random.sample(list, 5) #从list中随机获取5个元素,作为一个片断返回 
print slice 
print list #原有序列并没有改变。

上面这些方法是random模块中最常用的,在Python手册中,还介绍其他的方法。感兴趣的朋友可以通过查询Python手册了解更详细的信息。

Python 相关文章推荐
python中实现定制类的特殊方法总结
Sep 28 Python
python Django模板的使用方法
Jan 14 Python
python编写分类决策树的代码
Dec 21 Python
Django MEDIA的配置及用法详解
Jul 25 Python
python运用sklearn实现KNN分类算法
Oct 16 Python
python调用接口的4种方式代码实例
Nov 19 Python
pandas的相关系数与协方差实例
Dec 27 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
keras topN显示,自编写代码案例
Jul 03 Python
python读取excel进行遍历/xlrd模块操作
Jul 12 Python
用Python进行websocket接口测试
Oct 16 Python
python try...finally...的实现方法
Nov 25 Python
python生成器表达式和列表解析
Mar 10 #Python
python迭代器与生成器详解
Mar 10 #Python
Python装饰器基础详解
Mar 09 #Python
Python求算数平方根和约数的方法汇总
Mar 09 #Python
Python实现Linux命令xxd -i功能
Mar 06 #Python
基于Python实现一个简单的银行转账操作
Mar 06 #Python
Python切片知识解析
Mar 06 #Python
You might like
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
php缓冲 output_buffering和ob_start使用介绍
2014/01/30 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
Smarty模板配置实例简析
2019/07/20 PHP
IE图片缓存document.execCommand(&quot;BackgroundImageCache&quot;,false,true)
2011/03/01 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
JavaScript实现统计文本框Textarea字数增强用户体验
2012/12/21 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
node.js中的fs.ftruncate方法使用说明
2014/12/15 Javascript
javascript限制文本框输入值类型的方法
2015/05/07 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
Vue组件实例间的直接访问实现代码
2017/08/20 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
[01:02:48]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Liquid
2018/04/03 DOTA
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
Python实现子类调用父类的方法
2014/11/10 Python
python算法演练_One Rule 算法(详解)
2017/05/17 Python
Python迭代器和生成器定义与用法示例
2018/02/10 Python
python实现俄罗斯方块
2018/06/26 Python
Django实现学生管理系统
2019/02/26 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
Python中if有多个条件处理方法
2020/02/26 Python
诉讼代理人授权委托书
2014/04/08 职场文书
公共机构节能宣传周活动总结
2014/07/09 职场文书
践行三严三实心得体会
2014/10/13 职场文书
班主任班级管理心得体会
2016/01/07 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL