Python 标准库之 random 模块

随机数是随机产生的数,比如购买彩票,中奖的号码就是随机的。random 库是用于生成随机数的 Python 标准库,random 库提供如下函数:

函数

功能

random()

生成一个 [0.0, 1.0) 之间的随机小数

seed(seed)

初始化给定的随机数种子

randint(a, b)

生成一个 [a, b] 之间的随机整数

uniform(a, b)

生成一个 [a, b] 之间的随机小数

choice(seq)

从序列 seq 中随机选择一个元素

shuffle(seq)

将序列 seq 中元素随机排列, 返回打乱后的序列

1. random.random()

random.random() 的功能是生成一个 [0.0, 1.0) 之间的随机小数,示例如下:

>>> import random

>>> random.random()

0.02834747652200631

>>> random.random()

0.8357651039198697

>>> random.random()

0.43276706790505337

调用 3 次 random.random(),产生 3 个不同的数

每次产生的数都是在 [0.0, 1.0) 之间

2. random.seed(seed)

计算机使用确定性的算法计算出一个随机数序列。计算机产生的随机数并不真正的随机,但具有类似于随机数的统计特征,如均匀性、独立性等。

计算机根据随机数种子产生随机数序列,如果随机数种子相同,每次产生的随机数序列是相同的;如果随机数种子不同,产生的随机数序列是不同的。

random.seed(seed) 的功能是初始化给定的随机数种子,示例如下:

>>> import random

>>> random.seed(10)

>>> random.randint(0, 100)

73

>>> random.randint(0, 100)

4

>>> random.randint(0, 100)

54

>>> random.seed(10)

>>> random.randint(0, 100)

73

>>> random.randint(0, 100)

4

>>> random.randint(0, 100)

54

在第 2 行,设定种子为 10

在第 4 行,产生第 1 个随机数 73

在第 6 行,产生第 2 个随机数 4

在第 8 行,产生第 3 个随机数 54

在第 9 行,设定种子为 10

在第 11 行,产生第 1 个随机数 73

在第 13 行,产生第 2 个随机数 4

在第 15 行,产生第 3 个随机数 54

可以看出,当种子相同时,产生的随机数序列是相同的

3. random.randint(a, b)

random.randint(a, b) 的功能是生成一个 [a, b] 之间的随机整数,示例如下:

>>> import random

>>> random.randint(0, 2)

1

>>> random.randint(0, 2)

0

>>> random.randint(0, 2)

1

>>> random.randint(0, 2)

2

在例子中,randint(0, 2) 产生 [0, 2] 之间的随机整数。

4. random.uniform(a, b)

random.uniform(a, b) 的功能是生成一个 [a, b] 之间的随机小数,示例如下:

>>> import random

>>> random.uniform(0, 2)

0.20000054219225438

>>> random.uniform(0, 2)

1.4472780206791538

>>> random.uniform(0, 2)

0.5927807855738692

在例子中,uniform(0, 2) 产生 [0, 2] 之间的随机小数。

5. random.choice(seq)

random.choice(seq) 的功能是从序列 seq 中随机选择一个元素,示例如下:

>>> import random

>>> seq = [1, 2, 3, 4]

>>> random.choice(seq)

3

>>> random.choice(seq)

1

在第 4 行,第一次随机选择元素 3

在第 6 行,第一次随机选择元素 1

6. random.shuffle(seq)

random.shuffle(seq) 的功能是将序列 seq 中元素随机排列, 返回打乱后的序列,示例如下:

>>> import random

>>> seq = [1, 2, 3, 4]

>>> random.shuffle(seq)

>>> seq

[1, 3, 2, 4]

在第 2 行,建立一个有序列表

在第 3 行,使用 shuffle 将原来的有序列表重新随机排序

用于生成随机数的python标准库模块是_17 Python 标准库之 random 模块 - Python 进阶应用教程...相关推荐

  1. python随机选取0到100间的奇数_python random模块(随机数)详解

    使用前要先导入random模块 import random random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 rando ...

  2. 用于生成随机数的python标准库模块是_详解Python基础random模块随机数的生成

    详解Python基础random模块随机数的生成 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  详解Python基础random模块随机数的生成.txt ] ( ...

  3. python中用于生成随机数的函数的简单总结

    在python中有一个模块叫random,可以提供随机函数,方便生成随机元素或者表数据,对于工作的效率提升有大的帮助. 函数①random.random(): 解释:用于生成0-1之间的随机浮点数. ...

  4. numpy,pytorch生成随机数,随机分布总结

    在我们的平时的项目中,经常会用到生成随机数的方法.比如交叉验证中,随机采集的设置.在本文中将主要基于numpy常见的生成随机数方法和pytorch生成的随机数方法进行总结,并会分析随机种子对结果的影响 ...

  5. python随机模块 无范围_Python模块:生成随机数模块random

    随机数种子 要每次产生随机数相同就要设置种子,相同种子数的Random对象,相同次数生成的随机数字是完全相同的: random.seed(1)这样 random.randint( 0, 6, ( 4, ...

  6. python中产生随机数模块_Python中random模块生成随机数详解

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

  7. python中random库_python标准库之random模块

    Python中的random模块用于生成随机数. 下面具体介绍random模块的功能: 1.random.random() #用于生成一个0到1的 随机浮点数:0<= n < 1.0 1 ...

  8. Python中random模块生成随机数详解

    Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...

  9. python中sn的意思_Python中random模块生成随机数详解

    Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. random.random random.random()用于生成一个0到1的随机符点数: 0 < ...

最新文章

  1. 也有个自由职业梦?日本码农辞职一年后:独立工程师太难了
  2. 使用扩展的 CodeIgniter 框架实现 RESTful 框架
  3. 如何提高分布式系统的可用性
  4. 概述---《TCP/IP协议》卷一
  5. P4064 [JXOI2017]加法
  6. 观电台大神弹吉他有感
  7. WPF中退出时显示是否保存数据提示
  8. 理解SQL SERVER中的分区表(转)
  9. 权威!盘点 100 个最受欢迎的 Java 库!绝对经典
  10. 米莱迪机器人加物理攻击_游戏中的那些事:米莱迪物理伤害,这个皮肤没见过,蔡文姬一直出错装...
  11. RAID10和RAID01的区别
  12. python大数据之数据分割(含k折交叉验证)
  13. SOCKSCAP的使用方法
  14. AI芯片最重要的是什么?Arm中国:背后的软件生态
  15. 看_那人好像一个产品狗_对_这就是产品狗
  16. Python格式化字符 %s %d %f %g实例讲解
  17. 你理解的精益可能是错的!——从源头重新解读精益
  18. 猜数字小游戏(随机生成’三剑客‘)
  19. python画图显示中文加标题控制字体
  20. java 阈值 告警_处理Java异常告警最佳实践

热门文章

  1. 为什么 Django 能持续统治 Python 开发世界
  2. pro git读书笔记
  3. Web前端开发代码规范(基础)
  4. github访问太慢解决方案
  5. Java中ArrayList问题:删除一个ArrayList中的重复元素,注意留意一个问题
  6. Activity的setResult方法
  7. linux中级篇--网络相关命令
  8. 项目视频光盘项目中所学概览-html5+批处理+bat转exe
  9. Notepad++中执行Python脚本
  10. php-5.3.3安装注意问题