Python中列表的大小调整因子是多少

2023-12-24

例如,ArrayListJava 中的 s 的大小调整因子为 2。ArrayList当空间不足时,该数组的所有元素都会转移到一个新数组,该新数组的大小是原始数组的 2 倍。

由于 Python 列表/数组本质上是动态的,那么它们的大小调整因子是多少?或者他们使用其他一些缩放方法?如果是的话,那个方法是什么?它的渐近运行时间(大O)是多少?


特别是对于 CPython,调整大小期间的过度分配是在对象/listobject.c https://github.com/python/cpython/blob/master/Objects/listobject.c。它被描述为

温和,但是......足以在存在性能不佳的系统 realloc() 的情况下,在长序列的 appends() 上提供线性时间摊销行为。

当列表需要增长时,它会增长到所需大小的大约 112.5%。特别是,实际尺寸是new_size + new_size >> 3 + (newsize < 9 ? 3 : 6).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中列表的大小调整因子是多少 的相关文章

随机推荐

  • 静态成员中的通用参数声明

    为什么不允许定义这样的静态成员 private static final
  • 再次针对特定异常启用中断

    我是 Visual Studio 的新手 我现在正在编程 当我在 Visual Studio 的调试器中启动程序时 一切正常 当我按下一个按钮时 它集中了我的代码并弹出一个框 带有指向有错误的行的箭头 说明错误是什么 但我取消选中了上面的检
  • go 中定期运行一个函数

    我有一个这样的函数 func run cmd string byte out err exec Command cmd Output if error nil log Fatal err return out 我想以这种方式运行这个命令 r
  • 将 2 个嵌套数组合并为一个具有多个值的数组

    我有 2 个这样的嵌套数组 array 1 0 gt array 1 id gt 6 1 gt array 1 id gt 4 array 1 0 gt array 1 id gt 509 1 gt array 1 id gt 256 我正
  • 如何修复预期响应包含数组但获得对象 ANGular js

    我是新人 在调用服务后使用资源模块很难得到这个错误 任何人都可以修改我在代码中出错的地方 或者只是修改其中需要纠正的部分 谢谢 即将到来的数据格式 brands Array 1 0 Object v 0 id 5251a4a34f232fc
  • 配置文件与 gcc/g++ 和 ld 的链接时间

    我正在使用 g 编译和链接一个由大约 15 个 c 源文件和 4 个共享对象文件组成的项目 最近 链接时间增加了一倍多 但我没有可用的 makefile 的历史记录 有没有办法分析 g 以查看链接的哪一部分花费了很长时间 Edit 当我注意
  • 如何确定 PHP 字符串是否仅包含纬度和经度

    我必须使用可能包含纬度 经度数据的字符串 如下所示 query 33 805789 151 002060 query 33 805789 151 002060 query OVER HERE 33 805789 151 002060 就我的
  • 保存片段状态操作栏选项卡

    我正在构建一个由带有选项卡的操作栏组成的应用程序 每个选项卡都包含一个片段 其中一个片段有需要加载的数据 所以我希望数据只在第一次加载 当用户更改选项卡并返回到包含该片段的选项卡时 不会等待再次加载数据 我假设我必须使用某种方式保存数据 以
  • Java中用外国字符替换英文字符的方法?

    在 PHP 中我会使用这个 text Je prends une th chaud s il vous pla t search array etc replace array e i e etc text str replace sear
  • 对于英语单词来说,什么是好的哈希函数?

    我有一长串英语单词 我想对它们进行哈希处理 什么是好的哈希函数 到目前为止 我的散列函数对字母的 ASCII 值求和 然后对表大小取模 我正在寻找有效且简单的东西 简单地对字母求和并不是一个好的策略 因为排列会给出相同的结果 这个 djb2
  • 如何在 MVC 中创建启动屏幕

    我想在单击保存按钮时创建一个启动屏幕 显示消息 您的数据正在保存 请稍候 我使用 MVC 5 进行开发 下面我创建了一个div div style margin 0px padding 0px width 100 height 100 ba
  • 我应该为我的个人项目使用软件托管解决方案吗?

    现在 我将所有项目都保存在笔记本电脑上 我认为我不应该这样做 而是使用版本控制系统并从外部托管存储库 Google Code SourceForge 等 将它们签入 签出 我在这里看到了几个好处 首先 如果我的计算机崩溃和烧毁或者我的外部硬
  • JavaScript 注释

    有 JavaScript 注释吗 当然 JavaScript 没有它们 但是是否有其他库或建议的语言扩展 例如 type folder otherjsmodule foo function foo folder otherjsmodule
  • 使用knockout js上传文件

    使用knockout js 无法上传文件 我尝试过下面的代码但不起作用 请指出我哪里做错了 这是我的文件控件和按钮 我无法将所选文件从客户端发送到服务器 请建议最好的方法是什么
  • 无法渲染动画

    我正在尝试学习如何使用 R 和 gganimate 获得漂亮的动画图形 但遇到了一些问题 当我尝试为图形设置动画时 R 似乎编辑了一些 PNG 文件 但随后无法渲染它们 这是我使用的代码示例 首先加载 tidyverse gganimate
  • 使用 jquery 切换显示\隐藏但具有多个 id

    我有一个 php 页面 它生成多个 UL 和每个 UL 上方的链接 如下所示 a title Category one Category one a ul li Subcategory li li li li Subcategory li
  • 获取异步任务的结果

    我想从异步任务中获取结果 如果我使用task execute get 我的UI将被冻结 我希望我的异步任务是独立的类 所以我不想将结果处理代码放在 onPostExecute 中 我在这里找到了一些有关异步任务回调数据的信息 http bl
  • 如何改进 Excel 数据连接的刷新?

    和许多人一样 我有一个电子表格 可以从 40 多个文本文件中提取数据作为数据源 文本文件来自另一个应用程序 需要定期更新到 Excel 中 数据源文件和电子表格集需要能够复制并在不同的系统上运行 这就是 Excel 惊人地无法支持从电子表格
  • com.opensymphony.xwork2.inject.DependencyException: com.opensymphony.xwork2.inject.ContainerImpl$MissingDependencyException

    在部署我的战争文件时 我收到以下异常 SEVERE Exception starting filter struts2 com opensymphony xwork2 inject ContainerImpl MissingDependen
  • Python中列表的大小调整因子是多少

    例如 ArrayListJava 中的 s 的大小调整因子为 2 ArrayList当空间不足时 该数组的所有元素都会转移到一个新数组 该新数组的大小是原始数组的 2 倍 由于 Python 列表 数组本质上是动态的 那么它们的大小调整因子