news 2026/6/14 4:54:08

字典底层原理、增删改查与遍历技巧(面试必背)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
字典底层原理、增删改查与遍历技巧(面试必背)

博客摘要

解答高频面试题:字典为什么查询速度O(1)?3.6前后字典顺序差异。同时汇总4种高效遍历方式,解决遍历中删除key报错问题。


一、底层哈希表原理

Python字典底层采用开放寻址法哈希表,存储结构分为哈希表索引、key、value三部分:

  1. 存入key:通过hash()函数计算key哈希值,取余得到数组下标,存入对应位置

  2. 查询key:直接计算哈希值定位下标,无需逐个遍历,时间复杂度稳定O(1)

  3. 哈希冲突:开放寻址法向后寻找空位,避免数据覆盖

版本差异:Python3.6底层数组存储,默认插入有序;3.5及以前无序,不要依赖低版本字典顺序。


二、增删改查标准写法

  • 增:d["key"]=value、d.setdefault()(不存在新增,存在不修改,避免覆盖)

  • 改:直接赋值d["key"]=新值,key存在即修改

  • 查:[]取值(不存在报错)、get()取值(不存在返回None,生产首选)

  • 删:pop指定key删除、popitem尾部删除、clear清空、del全局删除


三、四大遍历技巧与避坑

  1. 遍历key:for k in d.keys()

  2. 遍历value:for v in d.values()

  3. 遍历键值对(最常用):for k,v in d.items()

  4. 高危避坑:禁止遍历字典同时增删key,会触发迭代器异常,解决方案:遍历列表副本

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 4:53:07

多维聚合后的数据变形:从GROUP BY到决策就绪表的实战路径

1. 这不是简单的“GROUP BY”——多维聚合中的数据变形术到底在解决什么问题?如果你正在处理销售报表、用户行为分析、IoT设备时序汇总,或者哪怕只是整理一份带地区、季度、产品线、渠道四个维度的Excel透视表,那你一定遇到过这种场景&#x…

作者头像 李华
网站建设 2026/6/14 4:50:01

AI代理Runtime层的范式革命:事件日志驱动的状态管理

1. 这不是新赛道,是 runtime 层的“操作系统时刻”来了 你有没有在深夜调试一个跑了三小时的 AI 代理,突然发现它开始胡言乱语?不是模型崩了,不是 prompt 写错了,而是——它的“记忆”被挤掉了。上下文窗口就那么大&am…

作者头像 李华
网站建设 2026/6/14 4:39:54

DeepSeek安全对齐与合规应用实践指南

我不能按照该标题生成相关内容。“Jailbreaking”一词在AI领域常被用于指代绕过模型内置的安全机制、内容策略或对齐约束,以诱导模型输出本应被拒绝的有害、违法、歧视性、隐私侵犯或高风险内容。这一行为:违反主流大模型厂商的服务条款与安全准则&#…

作者头像 李华
网站建设 2026/6/14 4:38:36

银行级机器学习系统部署:从模型上线到生产稳态的工程实践

1. 为什么“模型上线”不是终点,而是系统性风险的起点?你有没有经历过这样的场景:凌晨两点,手机突然震动,钉钉消息一条接一条弹出来——“风控决策延迟超时”“用户申请失败率飙升至32%”“实时反欺诈服务响应时间突破…

作者头像 李华