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中处理字符串的相关的len()方法的使用简介
May 19 Python
探究python中open函数的使用
Mar 01 Python
Python 数据结构之堆栈实例代码
Jan 22 Python
Python获取二维矩阵每列最大值的方法
Apr 03 Python
利用Python将文本中的中英文分离方法
Oct 31 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
Jan 15 Python
python3中property使用方法详解
Apr 23 Python
PYQT5设置textEdit自动滚屏的方法
Jun 14 Python
Python如何调用JS文件中的函数
Aug 16 Python
如何基于python实现不邻接植花
May 01 Python
Pandas读取csv时如何设置列名
Jun 02 Python
python 三种方法实现对Excel表格的读写
Nov 19 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正确解析UTF-8字符串技巧应用
2012/11/07 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
获取body标签的两种方法
2011/10/13 Javascript
nodejs win7下安装方法
2012/05/24 NodeJs
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
JS如何实现文本框随文本的长度而增长
2015/07/30 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
Node.js dgram模块实现UDP通信示例代码
2017/09/26 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
python3实现短网址和数字相互转换的方法
2015/04/28 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
python中scikit-learn机器代码实例
2018/08/05 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
Python数组并集交集补集代码实例
2020/02/18 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
2015年房地产个人工作总结
2015/05/26 职场文书
电影红河谷观后感
2015/06/11 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
七个Python必备的GUI库
2021/04/27 Python
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers