分析python源码(1) list对象空间内存问题

问题引出 我们发现*10和*=所创建的内存是不一样的 解释: list是动态长度的,在必要时会重新分配内存 这里的* 和 *=是两个不同的指令,不同的指令导致分配的内存不一样。 a * 10 是将会调用list_repeat 所以a * 10只会申请容纳10个元素的空间 而 *= 会调用 list_inplace_repeat 这里通过 list_resize 进行扩容 这个是扩容规则。比方你需要
相关文章
相关标签/搜索