random标准模块

一、概述

        在 Python 中,random 是一个内置模块,用于生成随机数。它提供了各种用于生成随机数的函数,包括伪随机数生成器、随机序列操作等。

1、需要导包

不会自动导入,需要显示的将random模块导入

import random

2、源码分析(以shuffle方法为例)

二、随机数生成器函数

1、random():返回一个范围在 [0.0, 1.0) 之间的随机浮点数。

类型:def random(self) -> float: ...

import random
print(random.random()) #0.629683841585128

2、randint(a, b):返回一个范围在 [a, b] 之间的随机整数。

类型:def randint(self, a: int, b: int) -> int: ...

import random
print(random.randint(1,10)) #5

3、uniform(a, b):返回一个范围在 [a, b] 之间的随机浮点数。

类型:def uniform(self, a: float, b: float) -> float: ...

import random
print(random.uniform(1,10)) #3.4924458384182833

4、randrange(start, stop[, step]):返回指定范围内的随机整数。step 参数表示步长。

类型:def randrange(self, start: int, stop: int | None = ..., step: int = ...) -> int: ...

import random
print(random.randrange(5,20,2)) #11

三、随机序列操作

1、choice(seq):从列表中随机选择一个元素并返回。

源码:

    def choice(self, seq):"""Choose a random element from a non-empty sequence."""try:i = self._randbelow(len(seq))except ValueError:raise IndexError('Cannot choose from an empty sequence') from Nonereturn seq[i]

用法:

import random
# 从序列中随机选择元素
fruits = ['apple', 'banana', 'cherry']
print(random.choice(fruits)) #banana

2、sample(population, k):从序列中随机选择 k 个独立的元素,返回一个列表。

类型:

def sample(self, population: Sequence[_T], k: int, *, counts: Iterable[int] | None = ...) -> list[_T]: ...
import randomfruits = ['apple', 'banana', 'cherry',3,4,5]
# 从序列中随机选择多个元素
print(random.sample(fruits, 2)) #[3, 'banana']

3、shuffle(x):将序列中的元素随机打乱(就地操作)。

类型:def shuffle(self, x: MutableSequence[Any]) -> None: ...

import randomfruits = ['apple', 'banana', 'cherry',3,4,5]
# 将序列中的元素随机打乱
random.shuffle(fruits)
print(fruits)

四、随机种子设置:

1、seed(a=None, version=2):设置随机数生成器的种子。如果不设置种子,生成的随机数会基于系统时间。

数字不同,种子不同,每一颗种子相当于把随机数给固定了

import randomrandom.seed(12)
print(random.random()) #0.4745706786885481

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

课时59:流程控制_if条件控制_语法解读

2.2.1 语法解读 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习。 基础知识 简介 条件结构能够根据某个特定的条件,结合内置的测试表达式功能,结合测试的结果状态值对于条件进行判断,然后选择执行合适的任务…

【Greenhills】MULTIIDE集成第三方的编辑器进行源文件编辑工作

【更多软件使用问题请点击亿道电子官方网站查询】 1、 文档目标 在使用GHS进行工作的时候,可以集成第三方的编辑器进行源文件编辑工作 2、 问题场景 用于解决在GHS中进行项目开发时,对于GHS的编辑器使用不习惯,想要切换到其他第三方的编辑…

为什么在镀膜时要测薄膜折射率?

在芯片制造中,镀膜工序(PVD,CVD)是必不可少的关键环节,薄膜的质量直接影响了芯片的性能。对这些薄膜的精细控制又离不开对其折射率的深入理解和精确测量。今天将对芯片制造中薄膜折射率的概念、测量方法,以及它在整个制…

Arcgis小技巧【19】——更改字段顺序

一、问题分析 一般情况下,一个合格且严谨的要素或表数据,它的字段顺序都是固定的。 比如三调数据,正常的字段数据如下(截取部分字段): 数据经过处理,如增删字段,可能会出现字段顺序…

SAM模型

SAM与过去分割对比 根据以下Demo,我们可以发现,通过在图像中指定要分割的内容提示,SAM可以实现各种分割任务,且无需额外的训练、做到零样本泛化,即SAM学会了辨别物体、具备图像理解力、对不熟悉的图像和物体能进行零样本概括&…

论文阅读《FENET: FOCUSING ENHANCED NETWORK FOR LANE DETECTION》

ABSTRACT 受人类驾驶专注力的启发,这项研究开创性地利用聚焦采样(Focusing Sampling)、部分视野评估(Partial Field of View Evaluation)、增强型 FPN 架构和定向 IoU 损失(Directional IoU Loss&#xff…

STM32单片机示例:ETH_LAN8742_DHCP_NonOS_Poll_H743

文章目录 目的基础说明关键配置关键代码示例链接总结 目的 以太网是比较常用到的功能,STM32系列单片机使用CubeMX配置使用以太网功能比非常方便。不过对于H7系列来说需要使能 DCache 才能启用LwIP,启用Cache后又会带来一些需要特别注意的事情。这篇文章…

AI智能应用百科立即落地实操课

该课程旨在教授学员如何将AI智能应用于实际场景。通过深入的案例研究和实操练习,学员将学会应用机器学习、自然语言处理等技术,快速解决现实问题。课程强调实际操作,帮助学员快速运用AI技术解决工作中的挑战。 课程大小:3.3G 课…

10 | MySQL为什么有时候会选错索引?

前面我们介绍过索引,你已经知道了在 MySQL 中一张表其实是可以支持多个索引的。但是,你写 SQL 语句的时候,并没有主动指定使用哪个索引。也就是说,使用哪个索引是由 MySQL 来确定的。 不知道你有没有碰到过这种情况,一…

【Selenium】selenium介绍及工作原理

一、Selenium介绍 用于Web应用程序测试的工具,Selenium是开源并且免费的,覆盖IE、Chrome、FireFox、Safari等主流浏览器,通过在不同浏览器中运行自动化测试。支持Java、Python、Net、Perl等编程语言进行自动化测试脚本编写。 官网地址&…

学会Web UI框架--Bootstrap,快速搭建出漂亮的前端界面

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 所属的专栏:前端泛海 景天的主页:景天科技苑 文章目录 Bootstrap1.Bootstrap介绍2.简单使用3.布局容器4.Bootstrap实现轮播…

二分与前缀和

789. 数的范围 - AcWing题库 import java.util.*;public class Main{static int N 100010;static int[] a new int[N];public static void main(String[] args){Scanner sc new Scanner(System.in);int n sc.nextInt();int m sc.nextInt();for(int i 0; i < n; i ){…

《互联网的世界》第五讲-信任和安全(第一趴:物理世界的非对称加密装置)

信任和安全的话题过于庞大&#xff0c;涉及很多数学知识&#xff0c;直接涉及 “正事” 反而不利于理解问题的本质&#xff0c;因此需要先讲一个前置作为 part 1。 part 1 主要描述物理世界的信任和安全&#xff0c;千万不要觉得数字世界是脱离物理世界的另一天堂&#xff0c;…

【C++庖丁解牛】实现string容器的增删查改 | string容器的基本接口使用

&#x1f4d9; 作者简介 &#xff1a;RO-BERRY &#x1f4d7; 学习方向&#xff1a;致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f4d2; 日后方向 : 偏向于CPP开发以及大数据方向&#xff0c;欢迎各位关注&#xff0c;谢谢各位的支持 目录 前言&#x1f4d6;pu…

MACBOOK PRO M2 MAX 安装Stable Diffusion及文生图实例

以前偶尔会使用Midjourney生成一些图片&#xff0c;现在使用的头像就是当时花钱在Midjourney上生成的。前段时间从某鱼上拍了一台性价比还不错的macbook&#xff0c;想着不如自己部署Stable Diffusion&#xff08;以下简称SD&#xff09;尝试一下。 网上有很多教程&#xff0c…

Apache POI 解析和处理Excel

摘要&#xff1a;由于开发需要批量导入Excel中的数据&#xff0c;使用了Apache POI库&#xff0c;记录下使用过程 1. 背景 Java 中操作 Excel 文件的库常用的有Apache POI 和阿里巴巴的 EasyExcel 。Apache POI 是一个功能比较全面的 Java 库&#xff0c;适合处理复杂的 Offi…

qt-C++笔记之使用Cmake来组织和构建QWidget工程项目

qt-C笔记之使用Cmake来组织和构建QWidget工程项目 —— 杭州 2024-03-10 code review! 文章目录 qt-C笔记之使用Cmake来组织和构建QWidget工程项目1.运行2.文件结构3.CMakeLists.txt4.main.cpp5.widget.h6.widget.cpp7.widget.ui 1.运行 2.文件结构 3.CMakeLists.txt 代码 c…

中国联通云联网在多元行业应用中的核心地位与价值体现

在全球化浪潮与数字化转型的时代背景下&#xff0c;中国联通积极响应市场需求&#xff0c;推出以云联网为核心的全球化智能组网解决方案&#xff0c;突破地理限制&#xff0c;为各行业提供高效、安全、灵活的网络服务。该方案不仅涵盖传统的通信连接&#xff0c;更是深入到能源…

【神经网络与深度学习】深度神经网络(DNN)

概述 深度神经网络&#xff08;Deep Neural Networks&#xff0c;DNN&#xff09;是一种由多个隐藏层组成的神经网络模型。每个隐藏层由多个神经元组成&#xff0c;这些神经元通过权重和激活函数进行信息传递和计算。 深度神经网络通过多层的非线性变换&#xff0c;可以学习到…

Smart PLC模拟量采集和低通滤波器组合应用

SMART PLC模拟量采集功能块"S_ITR"算法公式和详细代码请参考下面文章&#xff1a; 1、模拟量采集功能块"S_ITR" https://rxxw-control.blog.csdn.net/article/details/121347697https://rxxw-control.blog.csdn.net/article/details/1213476972、线性转换…