Python 计算列表长度的方法

2024-03-06

我想知道 len() 是如何工作的。

每次我调用 len() 时,它是否从列表的开头到结尾进行计数,或者,由于 list 也是一个类,len() 是否只返回列表对象中记录列表长度的变量?

另外,我希望有人能告诉我在哪里可以找到“len()”、“map()”等内置函数的源代码。


在此处下载 Python 2.7 源代码:http://www.python.org/getit/releases/2.7.4/ http://www.python.org/getit/releases/2.7.4/

list实施于./Include/listobject.h and ./Objects/listobject.c.

typedef struct {
    PyObject_VAR_HEAD
    /* Vector of pointers to list elements.  list[0] is ob_item[0], etc. */
    PyObject **ob_item;

    /* ob_item contains space for 'allocated' elements.  The number
     * currently in use is ob_size.
     * Invariants:
     *     0 <= ob_size <= allocated
     *     len(list) == ob_size
     *     ob_item == NULL implies ob_size == allocated == 0
     * list.sort() temporarily sets allocated to -1 to detect mutations.
     *
     * Items must normally not be NULL, except during construction when
     * the list is not yet visible outside the function that builds it.
     */
    Py_ssize_t allocated;
} PyListObject;

list.__len__()只是咨询ob_size,这是一部分PyObject_VAR_HEAD。这使得len()列表的常数时间操作。

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

Python 计算列表长度的方法 的相关文章

随机推荐

  • 为什么 gets() 被弃用? [复制]

    这个问题在这里已经有答案了 使用时gets 在我的代码中 编译器大喊 warning the gets function is dangerous and should not be used and warning gets is dep
  • 如何使用 php 和 shell 脚本捕获和提供 telnet?

    这就是我想使用 php 完成的任务 可能使用 excel 使用名为 proxychains 的程序远程登录到 whois 注册商 proxychains telent whois someregistrar 43 如果失败 gt 重试 1
  • xPath:获取父级和第二个兄弟级

    我有一个巨大的 XML 我需要在其中找到支付金额 它距离单元格 2 个单元格CellText amount
  • Google 为现有自动完成参考提供了 API 调用返回 NOT_FOUND 的详细信息

    我有一个问题也许有人也有同样的问题 我正在调用 google place autocomplete api 调用 然后我向用户展示结果 他可以选择地点 根据选择 我正在拨打地点详细信息并检索该地点的详细信息 我的问题是 某些情况下详细信息服
  • 对UITableView使用didSelectRowAtIndexPath或prepareForSegue方法?

    我正在使用情节提要 并且有一个 UITableView 我有一个从我的表推送到详细 VC 的 segue 设置 但我应该使用哪种方法来处理这个问题呢 我必须将几个对象传递到详细视图 但我用吗didSelectRowAtIndex or vo
  • 如何检查使用堆栈安装的软件包版本?

    在我的项目的 cabal 文件中 我有以下内容executable部分 executable ArchPkgstatsScraper hs source dirs app main is Main hs ghc options thread
  • Selenium 启动的 ChromeDriver 在后台保持运行

    I am not able to completely delete a project because the chromedriver instance is running in the background even when th
  • UWP Composition Api 是否支持颜色替换?

    我一直在尝试寻找与颜色替换相关的示例 这是一个使用 Photoshop 的示例 例如 它可以采用蓝色阴影并将其替换为红色阴影 BEFORE AFTER 使用最新版本的 Composition Api 中的 Composition Effec
  • 关于在线HTML5视频系统离线模式的解决方案

    我们有在线网站系统 具有很多功能 例如播放视频等 目的是我们想要为iPad制作具有UIWebView支持的离线模式应用程序 两种选择 使用HTML5清单实现离线模式 here http blog cubeanywhere com 2010
  • JAVA中类的引用大小

    Java中类的引用大小是多少 对于特定的 JVM 和操作系统 它是否恒定 与引用的类无关 Class A Class B Class C A a B b C c 尺寸是a b and c无论大小都相同A B and C课程 是的 所有引用都
  • 使用 ADODB 记录集在 Excel VBA 中查询非常慢的查询以获得先前值

    我在 Access 中有这个查询 它的工作速度非常快并且具有出色的性能 但是 当我想使用 ADODB REORDSET 在 Excel 中使用此查询时 通过复制记录集信息大约需要 15 分钟Range CopyFromRecordset S
  • 使用 NewSequentialID 有什么缺点吗?

    正如问题所述 使用 NewSequentialID 作为表的默认值与 NewID 相比有何缺点 明显的优点是它不会使我们的索引碎片太多 是否担心序列会被最大化 我不认为字段上的默认值真的会成为一个缺点 如果您想在插入某些记录之前控制它们的
  • 如何正确验证 AngularJS 客户端到服务器的身份

    我正在构建一个使用 RESTful API Jersey 的 AngularJS Web 应用程序 在服务器端 我使用 Java 应用程序服务器 具体为 Glassfish 4 我的设置如下 AngularJS webapp 作为单个 wa
  • Xamarin iOS 内存泄漏无处不在

    过去 8 个月我们一直在使用 Xamarin iOS 并开发了一款具有许多屏幕 功能和嵌套控件的不平凡的企业应用程序 我们已经按照 推荐 完成了自己的 MVVM 架构 跨平台 BLL 和 DAL 我们在 Android 之间共享代码 甚至我
  • 我应该使用 while(true) 从 Socket 接收数据吗?

    请参考我之前的问题获取代码示例套接字 有时 很少 数据包在接收过程中丢失 https stackoverflow com questions 9826194 sockets sometimes rarely packets are lost
  • 如何使用 x'abc' 二进制字符串文字语法显示 blob 值?

    您可以使用 x abc 语法轻松输入 blob 值 但是是否也可以以这种方式显示它 如下所示 直接选择或使用连接隐式转换为字符串不起作用 并且显示垃圾 此处为 Windows DOS 提示符 sqlite gt create table b
  • 多重使用块c#

    我正在开发需要访问数据库的应用程序 使用 using 语句很好 因为 using statement is to ensure that the object is always disposed correctly and it does
  • 我想删除所有花芹菜历史/日志,但它不起作用

    我不知道如何删除花的任务相关数据 我需要清除我的 Flower 数据以进行调试 但我不知道该怎么做 我的花和芹菜在泊坞窗上运行 即使我删除了泊坞窗及其相应的卷 我的花和芹菜历史数据中仍然有数据 我的 docker compose 配置 ce
  • 是否可以使用JS检查哪个浏览器支持哪个视频/音频“编解码器”?

    更准确地说 我想检查可以在浏览器中对 HTML5 中的视频 音频元素使用哪些编解码器 例如 Safari 支持 H 264 但我也想知道我可以使用哪些编解码器 由于规范随着时间的推移而变化 我想以某种方式自动完成它 而不是基于浏览器编解码器
  • Python 计算列表长度的方法

    我想知道 len 是如何工作的 每次我调用 len 时 它是否从列表的开头到结尾进行计数 或者 由于 list 也是一个类 len 是否只返回列表对象中记录列表长度的变量 另外 我希望有人能告诉我在哪里可以找到 len map 等内置函数的