会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
小小张说故事
博客园
首页
新随笔
联系
订阅
管理
2026年11月1日
Python 的 list.append 为什么是 O(1)?拆开 CPython 的扩容公式,以及 127.8 毫秒背后的 86 次搬内存
摘要: 教科书上说 list.append() 是均摊 O(1)。 但直觉上这很反常:list 底层是一块连续内存,加一个元素就得重新分配一块更大的、把旧的拷过去。拷一次是 O(n),拷 n 次不就是 O(n²)? 教科书没错,直觉也没完全错——关键是它不是每次都拷。 先看真实的扩容行为 用 sys.get
阅读全文
posted @ 2026-11-01 09:27 小小张说故事
阅读(5)
评论(0)
推荐(0)
公告