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 thread 并发且顺序运行示例
Apr 09 Python
python实现2048小游戏
Mar 30 Python
简单介绍Python中的RSS处理
Apr 13 Python
pycharm debug功能实现跳到循环末尾的方法
Nov 29 Python
Python递归函数实例讲解
Feb 27 Python
基于Tensorflow:CPU性能分析
Feb 10 Python
Python3 集合set入门基础
Feb 10 Python
python在不同条件下的输入与输出
Feb 13 Python
Python 如何展开嵌套的序列
Aug 01 Python
如何在 Matplotlib 中更改绘图背景的实现
Nov 26 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
Jan 08 Python
python 实现有道翻译功能
Feb 26 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
多重?l件?合查?(二)
2006/10/09 PHP
php数组一对一替换实现代码
2012/08/31 PHP
基于php设计模式中单例模式的应用分析
2013/05/15 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
jquery ajax提交表单数据的两种方式
2009/11/24 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
jquery获取复选框被选中的值
2014/03/22 Javascript
JavaScript实现非常简单实用的下拉菜单效果
2015/08/27 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
HTML的select控件美化
2017/03/27 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
python实现kMeans算法
2017/12/21 Python
linux查找当前python解释器的位置方法
2019/02/20 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
Django数据库操作之save与update的使用
2020/04/01 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
美国批发供应商:Kole Imports
2019/04/10 全球购物
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
施华洛世奇巴西官网:SWAROVSKI巴西
2019/12/03 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
迟到早退检讨书
2014/02/10 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
保护环境倡议书500字
2014/05/19 职场文书
授权委托书样本
2014/09/25 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
培根随笔读书笔记
2015/07/01 职场文书
获奖感言怎么写
2015/07/31 职场文书
关于职业道德的心得体会
2016/01/18 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记