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使用新浪微博API发送微博的例子
Apr 10 Python
Python sys.argv用法实例
May 28 Python
python读写ini配置文件方法实例分析
Jun 30 Python
python的构建工具setup.py的方法使用示例
Oct 23 Python
Python3 加密(hashlib和hmac)模块的实现
Nov 23 Python
Python实现时钟显示效果思路详解
Apr 11 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
python字符串切割:str.split()与re.split()的对比分析
Jul 16 Python
python3.6+django2.0+mysql搭建网站过程详解
Jul 24 Python
python快速编写单行注释多行注释的方法
Jul 31 Python
python实现连续变量最优分箱详解--CART算法
Nov 22 Python
iPython pylab模式启动方式
Apr 24 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 之入门篇
2006/12/04 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
PHP实现文件下载断点续传详解
2014/10/15 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
用 JavaScript 迁移目录
2006/12/18 Javascript
javascript 新浪背投广告实现代码
2009/07/07 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
js实现div层缓慢收缩与展开的方法
2015/05/11 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
JavaScript事件类型中UI事件详解
2016/01/14 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
使用Vue.js开发微信小程序开源框架mpvue解析
2018/03/20 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
js笔试题-接收get请求参数
2019/06/15 Javascript
vue不操作dom实现图片轮播的示例代码
2019/12/18 Javascript
python输入错误密码用户锁定实现方法
2017/11/27 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
Python脚本调试工具安装过程
2021/01/11 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
辩论赛主持词
2014/03/18 职场文书
试用期自我评价怎么写
2015/03/10 职场文书
新入职员工工作总结
2015/10/15 职场文书
民事纠纷协议书
2016/03/23 职场文书
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
2021/06/05 Python
SQL SERVER触发器详解
2022/02/24 SQL Server
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android