萌新学 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 全栈知识体系...
抖音下载器技术架构与实战指南:高效获取无水印视频的创新方案
抖音下载器技术架构与实战指南:高效获取无水印视频的创新方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...
高效AI教材生成工具,低查重率优势,轻松搞定教材编写!
编写教材难题与AI工具解决方案 编写教材,如何实现精准匹配多样化需求?不同学段学生的认知能力差异明显,内容深浅不宜失衡;课堂教学与自主学习等场景的需求各异,教材的呈现形式也需灵活调整;而各地区的教学…...
百度地图打印地点经纬度信息
百度地图将地址解析结果显示在地图上,并调整地图视野,可以打印地点经纬度信息,添加覆盖物。<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" c…...
国产信创库fio破坏主备库以及备份故障处理--惜分飞旁
一、各自优势和对比 这是检索出来的数据,据说是根据第三方评测与企业数据,三款产品在代码生成质量上各有侧重: 产品 语言优势 场景亮点 核心差异 百度 Comate C核心代码质量第一;Python首生成率达92.3% SQL生成准确率提升35%&…...
[ 渗透实战篇 ] Kali Linux下ARP欺骗攻防全解析:从断网攻击到流量劫持
1. ARP欺骗技术基础与实战环境搭建 在局域网安全领域,ARP欺骗就像是一个隐形的"窃听者",它能悄无声息地让网络流量改道流向攻击者的机器。要理解这个技术,我们得先从ARP协议说起。ARP(Address Resolution Protocol&…...
OpenClaw+SecGPT-14B实战:自动化生成渗透测试报告
OpenClawSecGPT-14B实战:自动化生成渗透测试报告 1. 为什么需要自动化渗透测试报告 每次完成渗透测试后,最让我头疼的就是整理报告环节。Nmap扫描结果、漏洞验证截图、风险评估描述、修复建议...这些内容往往分散在不同工具的输出文件中,手…...
跨生态投屏解决方案:让Windows用户实现多设备无缝连接的开源工具
跨生态投屏解决方案:让Windows用户实现多设备无缝连接的开源工具 【免费下载链接】airplay2-win Airplay2 for windows 项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win 当你在Windows电脑前想展示iPhone里的精彩视频却束手无策时,当会…...
SetFit迁移学习最佳实践:如何在不同领域间高效迁移
SetFit迁移学习最佳实践:如何在不同领域间高效迁移 【免费下载链接】setfit Efficient few-shot learning with Sentence Transformers 项目地址: https://gitcode.com/gh_mirrors/se/setfit SetFit作为基于Sentence Transformers的高效小样本学习框架&#…...
零基础玩转EVA-01:手把手教你用机甲AI分析图片,效果惊艳
零基础玩转EVA-01:手把手教你用机甲AI分析图片,效果惊艳 1. 初识EVA-01:你的机甲视觉助手 想象一下,你面前有一张复杂的机械设计图,或者一张充满细节的风景照片。传统的AI图片分析工具可能只会给你一段干巴巴的文字描…...
喜马拉雅音频批量下载工具:Go+Qt5跨平台架构解析与高效离线管理方案
喜马拉雅音频批量下载工具:GoQt5跨平台架构解析与高效离线管理方案 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 在数…...
