我一直无法找到这些信息的来源,除了自己查看Python源代码以确定对象的工作方式。有谁知道我在哪里可以找到这个?
答案 0 :(得分:18)
查看py dot org wiki上的TimeComplexity页面。至少就时间复杂度而言,它涵盖了set / dicts / lists /等。
答案 1 :(得分:14)
Raymond D. Hettinger关于Python的内置集合an excellent talk(slides)做了“核心Python容器 - 引擎盖下”。我看到的版本主要集中在set
和dict
,但list
也被覆盖了。
在a blog中还有来自EuroPython的相关幻灯片的一些照片。
以下是关于list
的说明摘要:
memcpy
。许多小清单会浪费大量空间,但大型清单的浪费不会超过12.5%。range(n)
,map()
,list()
,[None] * n
和切片。realloc
编辑数组。 pop
很便宜。答案 2 :(得分:2)
如果您问我的想法,您可以找到它们Here ...第476页及以后。
它是围绕Python的优化技术编写的;它主要是Big-O表示时间效率不高的记忆。