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自动生成文章
Dec 25 Python
Python通过select实现异步IO的方法
Jun 04 Python
python 筛选数据集中列中value长度大于20的数据集方法
Jun 14 Python
关于python2 csv写入空白行的问题
Jun 22 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
python异常处理和日志处理方式
Dec 24 Python
Python猴子补丁知识点总结
Jan 05 Python
python+Selenium自动化测试——输入,点击操作
Mar 06 Python
Python关键字及可变参数*args,**kw原理解析
Apr 04 Python
通过案例解析python鸭子类型相关原理
Oct 10 Python
Python 居然可以在 Excel 中画画你知道吗
Feb 15 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生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
jquery 无限级下拉菜单的简单实现代码
2014/02/21 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
详细介绍Ruby中的正则表达式
2015/04/10 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
对Python 内建函数和保留字详解
2018/10/15 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Python Subprocess模块原理及实例
2019/08/26 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
python实现局域网内实时通信代码
2019/12/22 Python
python对文件的操作方法汇总
2020/02/28 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
C语言笔试集
2012/07/24 面试题
入职担保书怎么写
2014/05/12 职场文书
新员工入职感想
2015/08/07 职场文书
银行工作心得体会范文
2016/01/23 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS
go原生库的中bytes.Buffer用法
2021/04/25 Golang
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS