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 相关文章推荐
python3使用tkinter实现ui界面简单实例
Jan 10 Python
Python对象的深拷贝和浅拷贝详解
Aug 25 Python
浅析Python的web.py框架中url的设定方法
Jul 11 Python
python 实现数组list 添加、修改、删除的方法
Apr 04 Python
python 批量添加的button 使用同一点击事件的方法
Jul 17 Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 Python
Django连接数据库并实现读写分离过程解析
Nov 13 Python
python实现全排列代码(回溯、深度优先搜索)
Feb 26 Python
Python闭包与装饰器原理及实例解析
Apr 30 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
python3让print输出不换行的方法
Aug 24 Python
Python matplotlib绘制雷达图
Apr 13 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的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
JavaScript实现复制文章自动添加版权
2016/08/02 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
2016/10/10 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
微信小程序wx.navigateTo方法里的events参数使用详情及场景
2020/01/07 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
Python面向对象实现一个对象调用另一个对象操作示例
2019/04/08 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
html5实现滑块功能之type=&quot;range&quot;属性
2020/02/18 HTML / CSS
应届毕业生求职信范文分享
2013/12/26 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
汽车4S店销售经理岗位职责
2015/04/02 职场文书
i7 6700处理器相当于i5几代
2022/04/19 数码科技