iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python random模块用法整理
  • 711
分享到

Python random模块用法整理

pythonrandom 2023-09-02 05:09:38 711人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

随机数在计算机科学领域扮演着重要的角色,用于模拟真实世界的随机性、数据生成、密码学等多个领域。python 中的 random 模块提供了丰富的随机数生成功能,本文整理了 random 模块的使用。

随机数在计算机科学领域扮演着重要的角色,用于模拟真实世界的随机性、数据生成、密码学等多个领域。python 中的 random 模块提供了丰富的随机数生成功能,本文整理了 random 模块的使用。

文章目录

Python random 模块

注意事项

  • 伪随机性:Python 使用 random 模块生成各种分布的伪随机数。计算机生成的随机数都是伪随机数,它们是由确定性算法生成的,只是看起来像随机。如果需要高度的随机性,需要额外的随机源。

  • 不同类型的随机性:在模拟、密码学等场景中,需要注意不同类型的随机性需求。如果前往 Python 文档以获取此模块的文档,将会看到一条警告:

    在这里插入图片描述
    显然,random 模块只适用于一般的随机数需求。random 模块使用 Mersenne Twister 算法来生成随机数。但是这种算法是完全确定性的,而对于密码学等需要高强度随机性的场景,应该使用 secrets 模块。

Python random 模块的内置函数

下面是 random 模块下的各种内置函数。这些函数能够在不同场景下生成伪随机数:

在这里插入图片描述
下面的列表包含了上述随机数生成函数的简要说明:

函数名描述
randint(a, b)生成一个位于 [a, b] 范围内的随机整数
randrange(start, stop, step)生成一个以 step 递增的整数序列中的随机元素
random()生成一个位于 [0.0, 1.0) 范围内的随机浮点数
unifORM(a, b)生成一个位于 [a, b) 范围内的随机浮点数
gauss(mu, sigma)生成一个符合高斯分布的随机浮点数,均值为 mu,标准差为 sigma
sample(population, k)population 序列中随机选择 k 个元素,不重复
choice(sequence)从序列中随机选择一个元素
shuffle(sequence)随机打乱序列中的元素顺序
seed(a=None)初始化随机数生成器的种子,用于重现随机序列

下面是这些函数的更详细介绍及示例。

randint()

此函数生成指定范围之间的整数。它接受两个参数 x x x y y y 并生成整数 i i i,使得 x < = i < = y x <= i <= y x<=i<=y

import randoma = random.randint(3, 6)print(a)# 输出:3

randrange()

该函数生成一个以 step 为步长的整数序列中的随机元素。startstop 是范围,取值范围是 [start, stop)。若省略 step 参数,默认为 1。

import randoma = random.randrange(1, 10, 2)print(a)# 输出:7

random()

该函数生成一个位于 [0.0, 1.0) 范围内的随机浮点数。所有数字在这个范围内的概率是相等的。

import randoma = random.random()print(a)# 输出:0.6427979778735594

uniform()

该函数生成一个位于 [a, b) 范围内的随机浮点数。类似于random(),但可以指定范围。

import randoma = random.uniform(3, 6)print(a)# 输出:3.512451152441262

gauss(mu, sigma)

该函数生成一个符合高斯分布(也称为正态分布)的随机浮点数。mu 是均值,sigma 是标准差,控制分布的形状。

import randoma = random.gauss(3, 0.5)print(a)# 输出:2.9743970359818612

sample()

如果想要一个序列中的多个随机元素,可以使用 sample()。它需要两个参数 populationk,其中 population 是一个序列,k 是一个整数。然后,该函数从 population 序列中随机选择 k 个元素,并以列表形式返回。选择不重复。

import randomseq = (12, 33, 67, 55, 78, 90, 34, 67, 88)a = random.sample(seq, 5)print(a)# 输出:[88, 78, 67, 34, 33]

choice(sequence)

如果要从特定序列中选择随机元素,可以使用此函数。它需要一个参数——sequence。它从序列中返回一个随机元素。

import randomseq = (12, 33, 67, 55, 78, 90, 34, 67, 88)a = random.choice(seq)print(a)# 输出:88

注意random.choice(seq) 不等同于 random.sample(seq, 1),前者返回元素,后者返回列表。

shuffle(sequence)

此函数采用一个参数 —— 列表。然后,它会将列表的元素打乱并返回。

import randoma = [10, 20, 30, 40, 50]random.shuffle(a)print(a)# 输出:[30, 10, 20, 40, 50]

seed(a=None)

当需要多次生成相同的随机数序列时,可以使用此函数。它需要一个参数 —— 种子值。此值初始化伪随机数生成器。每当使用相同的种子值调用 seed() 函数时,它都会产生完全相同的随机数序列,这对于需要重现随机结果的情况很有用。

import random# seed value = 3random.seed(3)for i in range(3):    print(random.random(), end = ' ')print('\n')# seed value = 8random.seed(8)for i in range(3):    print(random.random(), end = ' ')print('\n')# seed value again = 3random.seed(3)for i in range(3):    print(random.random(), end = ' ')print('\n')

输出:
0.23796462709189137 0.5442292252959519 0.36995516654807925

0.2267058593810488 0.9622950358343828 0.12633089865085956

0.23796462709189137 0.5442292252959519 0.36995516654807925

可以看出,对于种子 = 3,每次都会生成相同的序列。

来源地址:https://blog.csdn.net/a2360051431/article/details/132308513

--结束END--

本文标题: Python random模块用法整理

本文链接: https://www.lsjlt.com/news/389806.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python random模块用法整理
    随机数在计算机科学领域扮演着重要的角色,用于模拟真实世界的随机性、数据生成、密码学等多个领域。Python 中的 random 模块提供了丰富的随机数生成功能,本文整理了 random 模块的使用。 ...
    99+
    2023-09-02
    python random
  • python模块--random
    random模块                                                                                                                ...
    99+
    2023-01-31
    模块 python random
  • python random模块
    random() 方法返回随机生成的一个实数,它在[0,1)范围内。random()生成一个0到1的随机符点数import random print(random.random())执行输出0.7950347424262036ra...
    99+
    2023-01-30
    模块 python random
  • Python中random模块怎么用
    这篇文章给大家分享的是有关Python中random模块怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.随机取小数:import randomprint(random.runiform(a,b)...
    99+
    2023-06-22
  • Python中random函数用法整理
    目录 1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间 2. random.uniform(a, b): 返回随机生成的一个浮点数,范围在[a, b)之间 3. random.randint(a,b):...
    99+
    2023-09-02
    python
  • Python中的sys模块、random模块和math模块
    一、sys运行时环境模块 sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。 用法: sys.argv:命令行参数List,第...
    99+
    2024-04-02
  • Python的random模块详解
    目录 1.random()函数 2.randint(a, b)函数 3.uniform(a, b)函数 4.choice(seq)函数 5.shuffle(seq)函数 6.sample(seq, k)函数 7.randrange([sta...
    99+
    2023-10-20
    python numpy 数据分析
  • Python 模块:random 随机数
    Python中的random模块用于生成随机数。 使用该模块之前需要 import random 几个常用的函数用法: 1、random.random 函数原型: random.random() 用于生成一个0到1的随机符点数: 0 ...
    99+
    2023-01-30
    随机数 模块 Python
  • python中的random模块怎么使用
    在Python中,可以使用random模块来生成随机数。以下是一些常见的random模块的使用方法: 生成一个随机整数: imp...
    99+
    2024-03-04
    python random
  • python random模块高频使用方法有哪些
    这篇文章主要讲解了“python random模块高频使用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python random模块高频使用方法有哪些”吧!为了方便大家理解和记忆...
    99+
    2023-06-02
  • random模块如何在python中使用
    本篇文章为大家展示了random模块如何在python中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. random.random()用于生成一个0到1的随机浮点数: 0 <= n &...
    99+
    2023-06-06
  • python标准库random模块处理随机数
    目录前言1. 常用函数2. 不常用函数3. 使用示例3.1 生成随机密码前言 random模块实现了各种分布的伪随机数生成器。 伪随机数:人类使用算法等方式,以一个基准(也被称为种子...
    99+
    2024-04-02
  • Python中random函数的用法整理大全
    首先我们需要导入random模块  1. random.random(): 返回随机生成的一个浮点数,范围在[0,1)之间 import random print(rand...
    99+
    2024-04-02
  • python的random和time模块详解
    目录一、模块概述二、模块内容三、模块导入的原理四、模块导入的方法五、random模块六、time模块(1)python表示时间的三种格式(2)常用方法:(3)时间元组、时间戳、格式化...
    99+
    2024-04-02
  • Python 常用系统模块整理
    Python中的常用的系统模块中部分函数等的整理 random: 随机数 sys: 系统相关 os: 系统相关的 subprocess: 执行新的进程 multiprocessing: 进程相关 threading: 线程相关 pick...
    99+
    2023-01-30
    模块 常用 系统
  • Python伪随机数模块random怎么用
    这篇“Python伪随机数模块random怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python伪随机数模块ran...
    99+
    2023-06-29
  • python random模块的详细讲解
    1.random()方法random.random()方法返回的是[0,1)之间的浮点数 >>> import random c = random.random()print c 0.311067669783 ...
    99+
    2023-01-31
    模块 详细 python
  • 常用模块random,time,os,s
      取随机数的模块 #导入random模块 import random #取随机小数: r = random.random() #取大于零且小于一之间的小数 print(r) #0.7028485217376959 r...
    99+
    2023-01-30
    模块 常用 random
  • Python+random模块实现随机抽样
    目录1. 设置随机数种子 seed()2. random() 与 randint()3. sample()方法 无放回抽样4. choice() 与 choices() 有放回抽样5...
    99+
    2024-04-02
  • Python伪随机数模块random详解
    目录random模块random.seed常用整数随机函数常用序列随机函数常用实数随机函数总结random模块 该模块实现了各种分布的伪随机数生成器。(包括在实数轴上计算均匀、正态(...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作