Python random模块(获取随机数)常用方法和使用例子


Posted in Python onMay 13, 2014

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

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(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([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(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(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  # 原有序列并没有改变

随机整数:

>>> import random
>>> random.randint(0,99)
# 21

随机选取0到100间的偶数:

>>> import random
>>> random.randrange(0, 101, 2)
# 42

随机浮点数:

>>> import random
>>> random.random()
0.85415370477785668
>>> random.uniform(1, 10)
# 5.4221167969800881

随机字符:

>>> import random
>>> random.choice('abcdefg&#%^*f')
# 'd'

多个字符中选取特定数量的字符:

>>> import random
random.sample('abcdefghij', 3)
# ['a', 'd', 'b']

多个字符中选取特定数量的字符组成新字符串:

>>> import random
>>> import string
>>> string.join( random.sample(['a','b','c','d','e','f','g','h','i','j'], 3) ).replace(" ","")
# 'fih'

随机选取字符串:

>>> import random
>>> random.choice ( ['apple', 'pear', 'peach', 'orange', 'lemon'] )
# 'lemon'

洗牌:

>>> import random
>>> items = [1, 2, 3, 4, 5, 6]
>>> random.shuffle(items)
>>> items
# [3, 2, 5, 6, 4, 1]
Python 相关文章推荐
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
Python通过OpenCV的findContours获取轮廓并切割实例
Jan 05 Python
在cmd中运行.py文件: python的操作步骤
May 12 Python
selenium+python自动化测试之环境搭建
Jan 23 Python
python删除文件夹下相同文件和无法打开的图片
Jul 16 Python
Python使用itchat 功能分析微信好友性别和位置
Aug 05 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 Python
python 协程中的迭代器,生成器原理及应用实例详解
Oct 28 Python
python cv2截取不规则区域图片实例
Dec 21 Python
pycharm如何实现跨目录调用文件
Feb 28 Python
python用TensorFlow做图像识别的实现
Apr 21 Python
Python自动化测试工具Splinter简介和使用实例
May 13 #Python
Python获取远程文件大小的函数代码分享
May 13 #Python
Python FTP操作类代码分享
May 13 #Python
python生成指定尺寸缩略图的示例
May 07 #Python
python读取浮点数和读取文本文件示例
May 06 #Python
python创建线程示例
May 06 #Python
Python Web服务器Tornado使用小结
May 06 #Python
You might like
php 远程关机操作的代码
2008/12/05 PHP
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
php短域名转换为实际域名函数
2011/01/17 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
豆瓣网的jquery代码实例
2008/06/15 Javascript
javascript innerHTML、outerHTML、innerText、outerText的区别
2008/11/24 Javascript
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
jQuery Selector选择器小结
2010/05/06 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
Validform表单验证总结篇
2016/10/31 Javascript
jquery实现左右滑动式轮播图
2017/03/02 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
Django中的Model操作表的实现
2018/07/24 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
2020/04/24 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
岗位竞聘演讲稿
2014/01/10 职场文书
2014年村官工作总结
2014/11/24 职场文书