萌新学 Python 之 random 函数
random 模块:主要用来生成随机数
先导入包:import random
randint(a, b),生成 [a, b] 之间的整数,包含边界 a 和 b,a 和 b 为整数
random(),生成的是 [0,1) 之间的浮点数,包含 0 不包含 1
randrange(起始, 结束, 步长),生成 [起始, 结束) 之间的整数,步长默认为 1
uniform(a, b),生成 [a, b] 之间的浮点数
gauss(期望值, 标准差),生成高斯分布(正态分布)的浮点数
seed(整数),随机种子数,不带参数,以当前时间生成初始种子数,当使用的种子数相同时,随机生成的序列数就相同
shuffle(列表),随机将原列表的元素打乱
sample(序列, 指定的长度),随机抽取序列中指定长度的元素,返回列表
choices(序列, weights = 相对权重, cum_weights = 累加权重, k = 抽取次数),
随机从序列中抽取 k 次元素,返回列表,默认随机抽取的每个元素概率相同
import random
print(len(dir(random)), dir(random))# randint(a, b),生成 [a, b] 之间的整数,包含边界 a 和 b,a 和 b 为整数
print(random.randint(1, 10))# random(),生成的是 [0,1) 之间的浮点数,包含 0 不包含 1
print(random.random())# randrange(起始, 结束, 步长),生成 [起始, 结束) 之间的整数,步长默认为 1
print(random.randrange(1, 10))
print(random.randrange(1, 10, 2))
print(random.randrange(10, 1, -2))# uniform(a, b),生成 [a, b] 之间的浮点数
print(random.uniform(1.1, 2.2))# gauss(期望值, 标准差),生成高斯分布(正态分布)的浮点数
print(random.gauss(0, 1))
print([random.gauss(0, 1) for _ in range(50)])# seed(整数),随机种子数,不带参数,以当前时间生成初始种子数,当使用的种子数相同时,随机生成的序列数就相同
random.seed(1)
print(random.random())# shuffle(列表),随机将原列表的元素打乱
lst = ['a', 'b', 'c', 'd']
print(lst) # ['a', 'b', 'c', 'd']
# 打乱列表元素
random.shuffle(lst)
print(lst) # ['c', 'd', 'b', 'a']# sample(序列, 指定的长度),随机抽取序列中指定长度的元素,返回列表
lst = ['a', 'b', 'c', 'd']
print(random.sample(lst, 2)) # ['d', 'b']# choices(序列, weights = 相对权重, cum_weights = 累加权重, k = 抽取次数),随机从序列中抽取 k 次元素,返回列表,默认随机抽取的每个元素概率相同
# 从列表中随机抽取一个元素,每个元素抽到的概率一样
print(random.choices(['a', 'b', 'c', 'd'])) # ['b']
# 从列表中随机抽取两个元素,概率一样
print(random.choices(['a', 'b', 'c', 'd'], k = 2)) # ['b', 'a']
# 从列表中随机抽取多个元素,概率一样
print(random.choices(['a', 'b', 'c', 'd'], k = 10)) # ['b', 'd', 'b', 'c', 'd', 'c', 'b', 'd', 'c', 'a']
# weights 相对权重,从列表中随机抽取多个元素,设置每个元素的权重 weights = [1, 2, 3, 4],a 的概率是 1/(1+2+3+4),以此类推,抽到 d 的概率更高
print(random.choices(['a', 'b', 'c', 'd'], weights=[1, 2, 3, 4], k = 10)) # ['c', 'a', 'd', 'a', 'd', 'd', 'd', 'd', 'c', 'd']
''' 累加权重与相对权重的计算公式:cum_weights = [sum(weights[:i+1]) for i in range(len(weights))]比如 weights = [1, 2, 3, 4],cum_weights = [1, 1+2, 1+2+3, 1+2+3+4] = [1, 3, 6, 10] '''
累加权重与相对权重的计算公式:
cum_weights = [sum(weights[:i+1]) for i in range(len(weights))]
比如 weights = [1, 2, 3, 4],cum_weights = [1, 1+2, 1+2+3, 1+2+3+4] = [1, 3, 6, 10]
如果 cum_weights = [1, 1, 1, 1],那么 weights = [1, 0, 0, 0]
cum_weights 和 weights 只能使用其中之一
相关文章:
萌新学 Python 之 random 函数
random 模块:主要用来生成随机数 先导入包:import random randint(a, b),生成 [a, b] 之间的整数,包含边界 a 和 b,a 和 b 为整数 random(),生成的是 [0,1) 之间的浮点数,包含 0 不包含 1 r…...
2-2linux系统IO
文章目录 linux系统文件io1 open /close1.1 open1.2 close1.3 示例1.3.1 打开已经存在的文件 2 read/write2.1 read2.2 write使用 遗留问题:新创建的文件权限很奇怪3 lseek3.1 文件指针的移动3.2 文件拓展 perror函数 linux系统文件io 系统函数是系统专有的函数&am…...
周边游平台设计与实现(代码+数据库+LW)
摘 要 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对旅游信息管理的提升,…...
视频批量分段工具
参考原文:视频批量分段工具 选择视频文件 当您启动这款视频批量分段工具程序后,有两种便捷的方式来选择要处理的视频文件。其一,您可以点击程序界面中的 “文件” 菜单,在下拉选项里找到 “选择视频文件” 按钮并点击;…...
Android -- 使用Sharepreference保存List储存失败,原因是包含Bitmap,drawable等类型数据
1.报错信息如下: class android.content.res.ColorStateList declares multiple JSON fields named mChangingConfigurations 2.Bean类属性如下: data class AppInfoBean( val appName: String?, val appIcon: Drawable, val appPackage: String?,…...
java项目之基于ssm的图书馆书库管理系统(源码+文档)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的图书馆书库管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 该系统可以实现图书信息管理…...
编写一个程序,输入一个数字并输出其阶乘(Python版)
编写一个程序,输入一个数字并输出其阶乘 要计算一个数字的阶乘,可以编写一个简单的 Python 程序,使用循环或者递归来实现: 1. 使用 for 循环计算阶乘 # 输入一个数字 num int(input("请输入一个数字: "))# 初始化阶乘结果 facto…...
dify基础之prompts
摘要:在大型语言模型(LLM)应用中,Prompt(提示词)是连接用户意图与模型输出的核心工具。本文从概念、组成、设计原则到实践案例,系统讲解如何通过Prompt解锁LLM的潜能,提升生成内容的…...
实践教程:使用DeepSeek实现PDF转Word的高效方案
🎈Deepseek推荐工具 PDF文件因其跨平台、格式稳定的特性被广泛使用,但在内容编辑场景中,用户常需将PDF转换为可编辑的Word文档。传统的付费工具(如Adobe Acrobat)或在线转换平台存在成本高、隐私风险等问题。本文将使…...
网络安全审计员
在当今数字化时代,随着信息技术的迅猛发展,网络安全问题日益凸显,成为各行各业不容忽视的重要议题。特别是对于企业、政府机构等组织而言,网络安全不仅关乎数据资产的安全,更与组织的声誉、客户信任乃至法律法规的遵从…...
算法-二叉树篇13-路径总和
路径总和 力扣题目链接 题目描述 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回…...
如何设计一个短链系统?
短链系统设计的关键要点: 系统功能实现 短链生成:接收长链接,先检查是否已有对应短链,存在则直接返回。否则,使用分布式 ID 生成器(如号段模式、SnowFlake 算法、数据库自增 ID、Redis 自增等)生成唯一 ID,或通过哈希算法(如 MurmurHash)处理长链接得到哈希值。再将生…...
医疗行业电脑终端如何防病毒——火绒企业版杀毒软件
医疗物联网技术广泛应用,使得医院网络空间中增加了诸多新型终端设备。这些设备类型多样、型号各异,风险暴露面积大。火绒安全对医疗机构终端安全出现的问题、不足、需求等,提出整体解决方案。 医疗行业终端安全防护痛点 系统老旧 医院、区…...
云平台DeepSeek满血版:引领AI推理革新,开启智慧新时代
引言:人工智能的未来——云平台的卓越突破 在当今科技飞速发展的时代,人工智能(AI)技术正深刻地改变着我们生活与工作方式的方方面面。作为AI领域的创新者与领航者,云平台始终走在技术前沿,凭借无穷的热情…...
Java进阶——数据类型深入解析
Java数据类型深入解析 本文主要介绍 Java 数据类型的相关知识,包括8 种基本类型、默认值、字面量表示、自动装箱与拆箱、类型转换规则(隐式转换、强制转换)、浮点型精度问题、字符与字符串、引用类型比较与常量池、数值溢出与处理、类型推断等…...
R语言+AI提示词:贝叶斯广义线性混合效应模型GLMM生物学Meta分析
全文链接:https://tecdat.cn/?p40797 本文旨在帮助0基础或只有简单编程基础的研究学者,通过 AI 的提示词工程,使用 R 语言完成元分析,包括数据处理、模型构建、评估以及结果解读等步骤(点击文末“阅读原文”获取完整代…...
深度解析 ANSI X9.31 TR-31:金融行业密钥管理核心标准20250228
深度解析 ANSI X9.31 TR-31:金融行业密钥管理核心标准 在当今数字化金融时代,信息安全至关重要,而密钥管理则是保障金融数据安全的核心环节。ANSI X9.31 TR-31作为金融行业密钥管理的关键标准,为对称密钥的全生命周期管理提供了坚…...
视频字幕识别和翻译
下载的视频很多不是汉语的,我们需要用剪映将语音识别出来作为字幕压制到视频中去。 剪映6.0以后语音识别需要收费,但是低版本还是没有问题。 如果想要非汉语字幕转成中文,剪映低版本不提供这样功能。但是,用剪映导出识别字幕&am…...
Spring Boot 流式响应豆包大模型对话能力
当Spring Boot遇见豆包大模型:一场流式响应的"魔法吟唱"仪式 一、前言:关于流式响应的奇妙比喻 想象一下你正在火锅店点单,如果服务员必须等所有菜品都备齐才一次性端上来,你可能会饿得把菜单都啃了。而流式响应就像贴…...
算法之领域算法
领域算法 ♥一些领域算法知识体系♥ | Java 全栈知识体系...
别再只会用top了!Linux网络实时监控神器iftop保姆级教程(含常用快捷键与过滤技巧)
从top到iftop:Linux网络流量监控的终极实战指南如果你已经熟练使用top命令监控系统资源,却对网络流量分析感到无从下手,那么iftop将成为你工具箱中不可或缺的神器。就像top之于CPU和内存,iftop专为实时网络监控而生,它…...
浔川代码编辑器 v4.1.0 正式版重磅上线!AI 加持,轻量高效,开箱即用
浔川代码编辑器 v4.1.0 正式版重磅上线!AI 加持,轻量高效,开箱即用基于 Python Tkinter SQLite3 深度打磨,浔川代码编辑器 v4.1.0 正式版今日全面发布!本次迭代全面整合内测优化成果,AI 助手、在线运行、…...
[特殊字符] 旋转排序数组中的高效搜索:从线性到二分查找的进阶之路
给定一个由不同元素构成的旋转排序数组(原本是升序排列,但在某个未知点进行了旋转),要求快速找到目标元素的索引。如果不存在,则返回 -1。 示例 1: 输入:arr [5, 6, 7, 8, 9, 10, 1, 2, 3], …...
为什么你需要一个独立的PCK文件处理工具?3个自动化工作流解析
为什么你需要一个独立的PCK文件处理工具?3个自动化工作流解析 【免费下载链接】GodotPckTool Standalone tool for extracting and creating Godot .pck files 项目地址: https://gitcode.com/gh_mirrors/go/GodotPckTool 在Godot游戏开发中,PCK资…...
从华为EulerOS到openEuler:一个国产操作系统的开源之路与社区生态
从华为EulerOS到openEuler:一个国产操作系统的开源之路与社区生态在开源软件的世界里,每一个成功项目的背后都有一段独特的故事。当华为决定将其内部使用的EulerOS操作系统开源为openEuler时,这不仅是一个技术决策,更是一次关于开…...
国密滑块登录实战:SM2+SM4密码链路全解析
1. 这不是“加个密”那么简单:滑块登录里藏着的国密链路真相你有没有试过,在某个政务类App或银行类Web端拖动滑块完成登录后,页面瞬间跳转,但控制台Network面板里却找不到任何明文密码字段?甚至抓包发现,提…...
别再只会用cp了!用dd命令给硬盘做‘全身体检’和‘克隆手术’(附实战命令)
别再只会用cp了!用dd命令给硬盘做‘全身体检’和‘克隆手术’(附实战命令)在Linux系统管理中,文件复制是最基础的操作之一。大多数用户习惯使用cp命令完成日常的文件复制任务,但当面对磁盘级操作时,cp就显得…...
ARM SME架构下BFloat16矩阵运算优化实践
1. ARM SME架构与BFloat16计算概述在当今高性能计算领域,特别是机器学习和人工智能应用中,计算效率和内存带宽利用率成为了关键瓶颈。ARMv9架构引入的SME(Scalable Matrix Extension)扩展正是针对这一需求而设计,其中B…...
Redux Dynamic Modules最佳实践:避免常见错误的10个技巧
Redux Dynamic Modules最佳实践:避免常见错误的10个技巧 【免费下载链接】redux-dynamic-modules Modularize Redux by dynamically loading reducers and middlewares. 项目地址: https://gitcode.com/gh_mirrors/re/redux-dynamic-modules Redux Dynamic M…...
黑洞扰动理论与引力波波形建模技术解析
1. 黑洞扰动理论与引力波天文学基础 在引力波天文学领域,极端质量比旋进系统(Extreme Mass Ratio Inspiral, EMRI)的研究为我们理解强引力场动力学提供了独特窗口。这类系统通常由一个百万太阳质量量级的超大质量黑洞和一个恒星质量级别的致密…...
