Python随机数生成方法
1. random.seed(int)
- 给随机数对象一个种子值,用于产生随机序列。
- 对于同一个种子值的输入,之后产生的随机数序列也一样。
- 通常是把时间秒数等变化值作为种子值,达到每次运行产生的随机系列都不一样
- seed() 省略参数,意味着使用当前系统时间生成随机数
1
2
3
4
5
6
7
8
9
10
|
random.seed( 10 )
print random.random() #0.57140259469
random.seed( 10 )
print random.random() #0.57140259469 同一个种子值,产生的随机数相同
print random.random() #0.428889054675
random.seed() #省略参数,意味着取当前系统时间
print random.random()
random.seed()
print random.random()
|
2. random.randint(a,b)
- 返回指定范围的一个随机整数,包含上下限
1
|
print random.randint( 1 , 10 )
|
3. random.uniform(u,sigma)
- 随机正态浮点数
1
|
print random.uniform( 1 , 5 )
|
4. random.randrange(start,stop,step)
- 按步长随机在上下限范围内取一个随机数
1
|
print random.randrange( 20 , 100 , 5 )
|
5. random.random()
- 随机浮点数
1
|
print random.random()
|
6. 随机选择字符
- 随机的选取n个字符
1
|
print random.sample( 'abcdefghijk' , 3 )
|
- 随机的选取一个字符
1
|
print random.choice( 'abcde./;[fgja13ds2d' )
|
- 随机选取几个字符,再拼接成新的字符串
1
|
print string.join(random.sample( 'abcdefhjk' , 4 )).replace( " " ,"")
|
7.random.shuffle
- 对list列表随机打乱顺序,也就是洗牌
- shuffle只作用于list,对Str会报错比如‘abcdfed’,而['1','2','3','5','6','7']可以
1
2
3
4
5
6
7
8
9
|
item = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ]
print item
random.shuffle(item)
print item
item2 = [ '1' , '2' , '3' , '5' , '6' , '7' ]
print item2
random.shuffle(item2)
print item2
|
随机整数:
>>> 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)).r
eplace(" ","")
'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]
二、使用numpy.random模块来生成随机数组
1、np.random.rand 用于生成[0.0, 1.0)之间的随机浮点数, 当没有参数时,返回一个随机浮点数,当有一个参数时,返回该参数长度大小的一维随机浮点数数组,参数建议是整数型,因为未来版本的numpy可能不支持非整形参数。
1 import numpy as np 2 >>> np.random.rand(10) 3 array([ 0.56911206, 0.99777291, 0.18943144, 0.19387287, 0.75090637, 4 0.18692814, 0.69804514, 0.48808425, 0.79440667, 0.66959075])
当然该函数还可以用于生成多维数组,这里不做详述。
2、np.random.randn该函数返回一个样本,具有标准正态分布。
1 >>> np.random.randn(10) 2 array([-1.6765704 , 0.66361856, 0.04029481, 1.19965741, -0.57514593, 3 -0.79603968, 1.52261545, -2.17401814, 0.86671727, -1.17945975])
3、np.random.randint(low[, high, size]) 返回随机的整数,位于半开区间 [low, high)。
>>> np.random.randint(10,size=10) array([4, 1, 4, 3, 8, 2, 8, 5, 8, 9])
4、random_integers(low[, high, size]) 返回随机的整数,位于闭区间 [low, high]。
>>> np.random.random_integers(5) 4
5、np.random.shuffle(x) 类似洗牌,打乱顺序;np.random.permutation(x)返回一个随机排列
>>> arr = np.arange(10) >>> np.random.shuffle(arr) >>> arr [1 7 5 2 9 4 3 6 0 8]>>>> np.random.permutation(10) array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])
Python随机数生成方法相关推荐
- 随机数生成方法及其应用
目录 一.前言 二.伪随机数发生器介绍 三.均匀随机数发生器 四.任意概率分布的随机数发生器 五.产生特定要求的随机数 六.参考资料 一.前言 最近公司的一个项目,需要对一个功能模块进行性能验证,具体 ...
- Python ljust()方法
描述 Python ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串.如果指定的长度小于原字符串的长度则返回原字符串. 语法 ljust()方法语法: str.ljust ...
- Python join()方法
描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法: str.join(sequence).join(sequence) 参数 s ...
- Python maketrans() 方法
描述 Python maketrans() 方法用于给 translate() 方法创建字符映射转换表. 可以只接受一个参数,此时这个参数是个字典类型(暂不研究这种情况). 对于接受两个参数的最简单的 ...
- python count()方法
Python count() 方法 | 菜鸟教程 可以统计一个字符串里含有子字符串的个数 频次
- Python rstrip()方法 删除 string 字符串末尾的指定字符(默认为空格).
Python rstrip()方法 Python 字符串 描述 Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). 语法 rstrip()方法语法: str.r ...
- vscode使用教程python-如何在VSCode上轻松舒适的配置Python的方法步骤
前言 之前被学长推荐使用了VSCode,后惊叹了VSCode的强大,尤其是他的配置,比之前使用sublime方便多了,刚好实验室也来了一批新的学弟学妹,来仔细的逐步的讲解一些,在自己的电脑上轻松的配置 ...
- 自学python方法-总算懂得快速学习python的方法
随着Python的进一步发展,越来越多的现成的Python的机器学习的算法已经发布出来.为了可以更好地运用这些机器学习的算法,我们有必要对Python有个初步的了解.以下是小编为你整理的快速学习pyt ...
- python类中方法的执行顺序-浅谈Python的方法解析顺序(MRO)
方法解析顺序, Method Resolution Order 从一段代码开始 考虑下面的情况: class A(object): def foo(self): print('A.foo()') cl ...
最新文章
- SQL基本点—— 思维导图
- 清华大佬手把手教你使用Python进行数据分析和可视化
- Redis的安装、配置 --转载
- 先有鸡还是先有蛋?--IT公司用人困惑
- Java学习lesson 02
- python数据结构-栈和队列的实现
- [vue] 说说你对vue组件的设计原则的理解
- MySQL基本指令汇总
- 简单的深度优先遍历和广度优先遍历
- php7 提示500错误解决,升级php7出现500错误怎么办
- HTML/CSS入门及基础
- 幸福框架:模式驱动开发
- python环境及pycharm开发环境安装_Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)...
- think in java 读书笔记 2 —— 套接字
- 微信公众号-关注取消关注后图文和普通消息自动回复
- 《oracle大型数据库系统在AIX/unix上的实战详解》讨论45 显示某个登录用户的信息...
- “虚度”一下时光,给老友写封信
- 通过网站端口攻击服务器,服务器被攻击怎么解决?从端口策略入手
- 管理学五(手机的危害,积累与责任、见闻杂谈)
- 3D Instance Embedding Learning With a Structure-Aware Loss Function for Point Cloud Segmentation