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随机数生成方法相关推荐

  1. 随机数生成方法及其应用

    目录 一.前言 二.伪随机数发生器介绍 三.均匀随机数发生器 四.任意概率分布的随机数发生器 五.产生特定要求的随机数 六.参考资料 一.前言 最近公司的一个项目,需要对一个功能模块进行性能验证,具体 ...

  2. Python ljust()方法

    描述 Python ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串.如果指定的长度小于原字符串的长度则返回原字符串. 语法 ljust()方法语法: str.ljust ...

  3. Python join()方法

    描述 Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串. 语法 join()方法语法: str.join(sequence).join(sequence) 参数 s ...

  4. Python maketrans() 方法

    描述 Python maketrans() 方法用于给 translate() 方法创建字符映射转换表. 可以只接受一个参数,此时这个参数是个字典类型(暂不研究这种情况). 对于接受两个参数的最简单的 ...

  5. python count()方法

    Python count() 方法 | 菜鸟教程 可以统计一个字符串里含有子字符串的个数  频次

  6. Python rstrip()方法 删除 string 字符串末尾的指定字符(默认为空格).

    Python rstrip()方法  Python 字符串 描述 Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). 语法 rstrip()方法语法: str.r ...

  7. vscode使用教程python-如何在VSCode上轻松舒适的配置Python的方法步骤

    前言 之前被学长推荐使用了VSCode,后惊叹了VSCode的强大,尤其是他的配置,比之前使用sublime方便多了,刚好实验室也来了一批新的学弟学妹,来仔细的逐步的讲解一些,在自己的电脑上轻松的配置 ...

  8. 自学python方法-总算懂得快速学习python的方法

    随着Python的进一步发展,越来越多的现成的Python的机器学习的算法已经发布出来.为了可以更好地运用这些机器学习的算法,我们有必要对Python有个初步的了解.以下是小编为你整理的快速学习pyt ...

  9. python类中方法的执行顺序-浅谈Python的方法解析顺序(MRO)

    方法解析顺序, Method Resolution Order 从一段代码开始 考虑下面的情况: class A(object): def foo(self): print('A.foo()') cl ...

最新文章

  1. SQL基本点—— 思维导图
  2. 清华大佬手把手教你使用Python进行数据分析和可视化
  3. Redis的安装、配置 --转载
  4. 先有鸡还是先有蛋?--IT公司用人困惑
  5. Java学习lesson 02
  6. python数据结构-栈和队列的实现
  7. [vue] 说说你对vue组件的设计原则的理解
  8. MySQL基本指令汇总
  9. 简单的深度优先遍历和广度优先遍历
  10. php7 提示500错误解决,升级php7出现500错误怎么办
  11. HTML/CSS入门及基础
  12. 幸福框架:模式驱动开发
  13. python环境及pycharm开发环境安装_Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)...
  14. think in java 读书笔记 2 —— 套接字
  15. 微信公众号-关注取消关注后图文和普通消息自动回复
  16. 《oracle大型数据库系统在AIX/unix上的实战详解》讨论45 显示某个登录用户的信息...
  17. “虚度”一下时光,给老友写封信
  18. 通过网站端口攻击服务器,服务器被攻击怎么解决?从端口策略入手
  19. 管理学五(手机的危害,积累与责任、见闻杂谈)
  20. 3D Instance Embedding Learning With a Structure-Aware Loss Function for Point Cloud Segmentation

热门文章

  1. docker安装mysql_Docker 安装 MySQL
  2. SQL SERVER 查询表的行数
  3. ios开发网络篇—HTTP协议 - 转
  4. layui之在table的编辑的按钮的思考
  5. Javadoc的Html文件传输chm
  6. Win 7 通过事件管理器查看计算机开机关机时间
  7. C#4.0 Collections【集合】
  8. 制作jffs2根文件系统
  9. 非多态的继承情况下,基类指针可以指向派生类对象么?
  10. C语言数组越界导致无限循环