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系列之教你如何根据图片生成字符画
May 23 Python
Linux下使用python自动修改本机网关代码分享
May 21 Python
Python微信公众号开发平台
Jan 25 Python
详解python中asyncio模块
Mar 03 Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 Python
对Python中画图时候的线类型详解
Jul 07 Python
用Anaconda安装本地python包的方法及路径问题(图文)
Jul 16 Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
Python实现一个论文下载器的过程
Jan 18 Python
Python对excel的基本操作方法
Feb 18 Python
Python数据分析入门之教你怎么搭建环境
May 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实现显示照片exif信息的方法
2014/07/11 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
2006/06/26 Javascript
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
犀利的js 函数集合
2009/06/11 Javascript
Javascript 刷新全集常用代码
2009/11/22 Javascript
JavaScript中的undefined学习总结
2013/11/30 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
jQuery限制图片大小的方法
2016/05/25 Javascript
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
详解JavaScript按概率随机生成事件
2017/08/02 Javascript
bootstrap Table的一些小操作
2017/11/01 Javascript
layui radio性别单选框赋值方法
2018/08/15 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
layui数据表格重载实现往后台传参
2019/11/15 Javascript
[02:39]DOTA2国际邀请赛助威团西雅图第一天
2013/08/08 DOTA
Python中动态检测编码chardet的使用教程
2017/07/06 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
咖啡蛋糕店创业计划书
2014/01/28 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
食品工程专业求职信
2014/06/15 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
投资入股协议书
2016/03/22 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang
基于angular实现树形二级表格
2021/10/16 Javascript
php实例化对象的实例方法
2021/11/17 PHP