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实现数独算法实例
Jun 09 Python
python如何创建TCP服务端和客户端
Aug 26 Python
python处理两种分隔符的数据集方法
Dec 12 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
Dec 19 Python
详解PyCharm+QTDesigner+PyUIC使用教程
Jun 13 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
Sep 01 Python
Python pip install之SSL异常处理操作
Sep 03 Python
Python基于execjs运行js过程解析
Nov 27 Python
Python 获取异常(Exception)信息的几种方法
Dec 29 Python
python自动化操作之动态验证码、滑动验证码的降噪和识别
Aug 30 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
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
2015/11/25 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
php输出形式实例整理
2020/05/05 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
layui使用form表单实现post请求页面跳转的方法
2019/09/14 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
Python 字典与字符串的互转实例
2017/01/13 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
Python使用requests发送POST请求实例代码
2018/01/25 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
python多进程并行代码实例
2019/09/30 Python
python 实现多线程下载视频的代码
2019/11/15 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
学校安全责任书范本
2014/07/23 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
科技活动总结范文
2015/05/11 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
CSS filter 有什么神奇用途
2021/05/25 HTML / CSS
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
Python中的socket网络模块介绍
2022/07/23 Python