当前位置: 首页 > article >正文

Python篇---常考的数据类型

一、常见数据类型及其特点Python 的数据类型可以分两大类不可变类型和可变类型。这个区分是很多考点的基础。1. 不可变类型值变了对象就换了整数int特点精度无限只有整数不分长短。适合大数运算。考点小整数池-5~256内的整数会被预先缓存所以a256; b256时a is b为True但257就不同了。浮点数float特点底层是 IEEE 754 双精度也就是 C 语言的double。有精度限制。考点精度丢失是必考题0.1 0.2 0.3结果为False。正确的比较方式是用abs(a - b) 1e-9之类的方式。布尔值bool特点True和False它是int的子类True1False0。考点所有对象的“真值测试”比如空容器、0、None都视为False。字符串str特点Unicode 字符序列有序、不可变。考点字符串驻留由字母数字下划线组成的字符串可能被自动驻留、各种格式化方式。元组tuple特点有序、不可变序列。考点单元素元组的陷阱写法必须是(1,)而不能是(1)。2. 可变类型内容变了对象不变列表list特点有序、可变的动态数组存的是对象引用。考点深浅拷贝、列表推导式、appendvsextend的区别。字典dict特点无序Python 3.7 保证插入顺序、可变键必须可哈希不可变类型。考点键的哈希性要求所以列表不能做键元组可以、get方法防崩溃、字典合并。集合set特点元素唯一、无序、可变原理同字典的键。考点去重、以及集合的交、并、差运算在成员关系判断上的高效性O(1)。二、常见考点分类总结这通常是面试和笔试的高频区。1. 可变性陷阱重中之重默认参数问题函数默认参数只在定义时计算一次。绝不能用[]或{}做默认值会导致多次调用共享同一个可变对象。列表引用问题a [1, 2]; b a后修改b会直接影响a。2. 深浅拷贝在嵌套列表a [[1], [2]]这样的结构中浅拷贝b a.copy()外层容器是新的但内层列表仍是原引用。改内层会联动。深拷贝c copy.deepcopy(a)递归复制新旧对象完全独立。3. “” 与 “is” 的本质区别比较的是值是否相等。is比较的是内存地址是否是同一个对象。注意a b为真时a is b不一定为真。is主要用于和None的单例比较如x is None。4. 序列类型通用操作切片[start:stop:step]生成新对象支持负索引。列表、元组、字符串都适用。5. 字典与集合的键限定为什么列表不能做键因为列表可变哈希值会变而字典按哈希查找。可变对象一改内容哈希值变了就找不到了。只有不可变类型才能哈希。三、数据类型、特点与应用场景数据类型的选择直接决定了程序的效率、安全性和可读性。1. 不可变类型整数int核心场景所有计数、索引、循环控制。高精度计算如金融、密码学中Python 的无限精度int是天然优势不用担心溢出。浮点数float核心场景科学计算、图形渲染、机器学习中的权重和概率等。但绝不用于精确的金融计算金额应用Decimal或用整数按“分”来存。字符串str核心场景数据处理的核心。配置文件解析、自然语言处理、网络爬虫的数据清洗、日志格式化输出。元组tuple核心场景函数返回多值return x, y本质上就是返回一个元组。字典的键如用(x, y)表示坐标作为键。不可变的数据记录如存储一行数据库记录防止意外修改。2. 可变类型列表list核心场景通用动态容器存储同质或异质的元素序列是迭代、排序、过滤等操作的首选。实现栈与队列append()和pop()可实现栈配合collections.deque可实现高效队列。列表推导式优雅地生成新列表如[x*2 for x in range(10)]。字典dict核心场景快速查找/映射如缓存、数据库查询结果的封装。计数collections.Counter是其子类专用于统计词频等。JSON 交互Python 字典与 JSON 对象天然对应是 Web API 开发的基石。集合set核心场景快速去重一行list(set(data))搞定。成员关系检查判断一个元素是否在大量数据中set的 O(1) 查找远超列表的 O(n)。集合运算求共同好友、交集、差集等代码简洁高效。四、选择决策与进阶关联如何选择数据顺序重要吗重要且有修改 →列表list重要但不修改 →元组tuple需要快速查值吗是有唯一键 →字典dict是只关心元素在不在 →集合set数据需要修改吗是且顺序不重要、元素不重复 →集合set是且顺序重要 →列表list进阶关联生成器generator当数据量极大如处理一个超大日志文件不适合一次性加载到列表时生成器可以惰性地一个一个产出数据几乎不占内存。命名元组namedtuple当需要不可变的数据记录又想像对象一样用.name访问属性时它是元组的绝佳替代品可读性远超普通元组。不可变集合frozenset集合版元组可哈希可作为字典的键。

相关文章:

Python篇---常考的数据类型

一、常见数据类型及其特点Python 的数据类型可以分两大类:不可变类型和可变类型。这个区分是很多考点的基础。1. 不可变类型(值变了,对象就换了)整数 int特点:精度无限,只有整数不分长短。适合大数运算。考…...

【限时开放】Midjourney未来主义风格权威认证路径:完成这5个里程碑任务,获取由Adobe+MJ Labs联合签发的Futurism Prompt Architect证书

更多请点击: https://intelliparadigm.com 第一章:【限时开放】Midjourney未来主义风格权威认证路径:完成这5个里程碑任务,获取由AdobeMJ Labs联合签发的Futurism Prompt Architect证书 什么是未来主义Prompt架构师认证&#xf…...

Mastra AI编排框架:构建生产级智能工作流的完整指南

1. 项目概述:一个面向开发者的AI应用编排框架最近在折腾AI应用开发的朋友,估计都绕不开一个核心痛点:如何把不同的AI模型、工具和数据源高效地串联起来,形成一个稳定、可维护的智能工作流。无论是想做个智能客服,还是搞…...

九大网盘直链下载助手:一键获取真实下载地址的终极解决方案

九大网盘直链下载助手:一键获取真实下载地址的终极解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...

量子退火误差缓解:经典阴影与局部虚拟纯化技术

1. 量子退火中的误差挑战与经典阴影方法量子退火(Quantum Annealing, QA)作为量子计算领域的重要算法,在优化问题求解中展现出独特优势。然而,实际硬件实现时面临的退相干问题严重制约了其计算精度。传统量子纠错方案需要大量物理…...

基于词汇统计的个人技能量化管理系统:从理论到实践

1. 项目概述:当词汇统计遇上技能图谱最近在整理个人技能库时,我遇到了一个挺有意思的问题:如何用一种更科学、更直观的方式,来量化和管理自己那看似杂乱无章、不断增长的技能树?传统的简历列表或者简单的熟练度评级&am…...

AIGC面试指南:从Transformer到扩散模型,系统掌握核心技术与实战

1. 项目概述:一本面向AIGC求职者的实战指南最近几年,AI生成内容(AIGC)领域的热度可以说是“肉眼可见”地飙升。从文本生成、图像创作到视频合成,相关岗位如雨后春笋般涌现,吸引了大量开发者和研究者的目光。…...

Go语言装饰器模式:功能扩展

Go语言装饰器模式:功能扩展 1. 装饰器实现 type Component interface {Operation() string }type ConcreteComponent struct{}func (c *ConcreteComponent) Operation() string {return "ConcreteComponent" }type Decorator struct {component Component…...

智能语义分块:chunkhound如何解决RAG应用中的文档处理难题

1. 项目概述:从“分块”到“猎犬”的智能进化如果你在数据处理的深海里游过泳,尤其是处理过那些动辄几十上百GB的文本、代码或日志文件,那你一定对“分块”(Chunking)这个概念又爱又恨。爱的是,它是我们处理…...

DRAM读干扰机制:RowHammer与RowPress的实验研究

1. DRAM读干扰问题概述DRAM(动态随机存取存储器)是现代计算系统中最主要的主存技术,其可靠性和安全性对整个系统的稳定运行至关重要。然而,DRAM存在一个被称为"读干扰"(Read Disturbance)的固有缺…...

Go语言策略模式:算法替换

Go语言策略模式:算法替换 1. 策略接口 type SortStrategy interface {Sort(data []int) []int }type BubbleSort struct{}func (s *BubbleSort) Sort(data []int) []int {// 冒泡排序实现return data }type QuickSort struct{}func (s *QuickSort) Sort(data []int)…...

STM32WLE5CCU6 LoRaWAN节点实战:用AT指令连接TTN服务器并收发数据

STM32WLE5CCU6 LoRaWAN节点实战:从硬件配置到TTN云端交互全解析 在物联网设备爆炸式增长的今天,低功耗广域网络(LPWAN)技术正成为连接海量终端的关键基础设施。作为LPWAN的代表性技术之一,LoRaWAN以其超长传输距离和极低功耗特性,…...

英矽智能对标宁德时代,AI 制药规模化复制难题待解!

AI 制药巨头“朋友圈”扩大AI 制药巨头的“朋友圈”越来越大了。“港股 AI 制药一哥”英矽智能日前宣布与谷歌云达成战略合作,要把 Gemini 大模型塞进自家 Pharma.AI 平台。这意味着英矽智能已不再满足于做一家“卖算法的”公司,而是要把自己变成药物发现…...

Yii2开启URI伪静态的相关配置

Yii2 开启URI伪静态的相关配置 Yii2支持url伪静态链接转换,在配置文件config/web.php中加入 # config/web.php $config [components > [// URI伪静态化配置urlManager > [enablePrettyUrl > true, // 启用美化 URL(隐藏 index.php)…...

Adafruit Metro M4 AirLift开发板:硬件解析与物联网开发实战

1. 项目概述与硬件解析如果你正在寻找一款既能提供强大本地计算能力,又能轻松接入无线网络的微控制器开发板,那么Adafruit Metro M4 Express AirLift绝对是一个值得深入研究的选项。它不是简单的单片机加WiFi模块的堆砌,而是一个经过精心整合…...

自动驾驶运动规划:MPC算法实现与“反重力”平滑控制实践

1. 项目概述:当自动驾驶遇见“反重力”最近在GitHub上闲逛,发现一个名字特别酷的项目——aryanbisht555/antigravity-autopilot。第一眼看到这个名字,我脑子里立刻蹦出两个词:“反重力”和“自动驾驶”。这组合听起来像是科幻电影…...

c | 穿 |pld | 的 |女王 |2222

我通过百度网盘分享的文件:穿达的王2(20... 链接:https://pan.baidu.com/s/1yiYXVmvY-KhDjwWzL2t81w?pwdj775 提取码:j775...

方法论:什么是横向纵向分析法?

文章目录前言什么是横纵分析法?规划类: 空间和时间价值链:投入和产出考察类: 广度和深度调研类:竞品和历史机型对比问题跟进类:正面和侧面问题解决类:预防和治愈前言 由于事情往往有两面性&…...

AI养老服务兴起:代写回忆录爆火,技术短板与市场乱象待解?

AI正在替人尽孝五六年前,采访北京一家智慧养老院,其为每个房间配智能音箱,用AI陪老人聊天等。今年回访,智能陪伴设备已停用。2023年新技术催生新AI养老服务,如2024年下半年AI代写回忆录风潮,从业者能月入过…...

别再只堆叠4层了!用DenseGCN构建超深图网络,点云分割mIoU提升实战

突破GCN深度瓶颈:DenseGCN在点云分割中的实战优化指南 传统图卷积网络(GCN)通常被限制在3-4层的浅层架构中,这种深度限制严重制约了其在点云分割等复杂任务中的表现。本文将揭示如何通过密集连接(Dense Connections&am…...

OpenCV 4.x/5.x 在Ubuntu 22.04上安装后,CMake项目死活找不到库?一个环境变量就搞定

OpenCV 4.x/5.x 在Ubuntu 22.04上安装后CMake项目找不到库的终极解决方案 当你满怀期待地在Ubuntu 22.04上安装了最新版的OpenCV,准备开始你的计算机视觉项目时,却遭遇了CMake无法找到OpenCV库的尴尬局面。这种"明明安装了却找不到"的情况&…...

LT6110远程电压补偿技术原理与应用

1. 远程负载电压补偿技术解析在工业自动化、数据中心等分布式供电系统中,工程师们经常面临一个经典难题:当电源与负载之间存在较长距离时,导线电阻导致的电压下降会显著影响负载端的供电质量。这种现象的本质是欧姆定律(VIR&#…...

从零到生产:构建百万并发分布式 IM 系统的架构全解

从零到生产:构建百万并发分布式 IM 系统的架构全解 如何设计一套真正能落地的分布式即时通讯系统?本文不只讨论“能跑起来”的 Demo,而是从连接接入、消息路由、存储模型、一致性语义、群聊扇出、限流熔断、可观测性、容灾与工程化交付等维度,完整拆解一套可支撑百万长连接…...

ARM Cortex-M处理器仿真与Iris组件深度解析

1. ARM Cortex-M系列处理器仿真技术概述在嵌入式系统开发领域,处理器仿真技术已经成为不可或缺的工具链环节。作为ARM架构中专门面向微控制器市场的产品线,Cortex-M系列处理器凭借其优异的能效比和实时性能,广泛应用于物联网终端、工业控制和…...

ASCII艺术乱码修复:ascii-fix工具解决终端编码兼容性问题

1. 项目概述:当字符艺术遇上编码乱码如果你经常在终端里折腾,或者喜欢用命令行工具处理文本,那你肯定遇到过这种情况:一个精心设计的ASCII艺术Logo,或者一个结构清晰的表格,在某个终端或编辑器里打开时&…...

OpenTelemetry可观测系统之Metrics学习

概念 OpenTelemetry 是一套通用监控工具包,不生产监控数据,只负责采集监控数据;Metrics 是它专门用来抓「数字指标」的模块 理解:OTel Metrics 1.区分三大可观测核心 OTel 只干三件事,你可以把服务运行状态想象成人&am…...

热门的牙齿矫正正畸李杨哪个好

在社交媒体上,关于“牙齿矫正哪家好”、“李杨医生靠谱吗”的讨论热度居高不下。许多粉丝在评论区留言,想知道这位在网络红人榜上经常出现的正畸专家,是否真的值得托付那长达一两年的矫正周期。作为一个长期关注口腔健康领域的观察者&#xf…...

AppleRa1n终极指南:5步免费绕过iOS 15-16 iCloud激活锁

AppleRa1n终极指南:5步免费绕过iOS 15-16 iCloud激活锁 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 你是否遇到过这样的情况:忘记了自己iPhone的Apple ID密码,或…...

DLSS Swapper完整指南:如何5分钟提升游戏性能50%?

DLSS Swapper完整指南:如何5分钟提升游戏性能50%? 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 您是否曾经为游戏卡顿而烦恼?是否在寻找提升帧率的方法却不知从何入手?…...

iPhone、iPad、Mac功能联动!

今天分享几个iPhone、iPad、Mac之间的联动技巧 通讯转接 iPhone不在身边或者不方便拿出来接听电话,在身边的iPad、Mac也可以接听电话,设置方法如下: 打开设置 – 电话 – 在其他设备上通话 – 勾选上iPad、Mac设备就可以了,iPh…...