《STLpython源码剖析笔记》有一段程序不懂

在这个实验中,表明超过170个str合并时 join函数更占优

如果常常要在序列的两端增删元素,请使用deque这个数据结构,它是线程安全的

3.dict 和 set 的实现类似,都基于散列表(set可以想象成 键与值 一样的散列表) 由于python内部大量使用dict 来对应 变量名和值,所以对键值为 str 类型的 key-value查找有专门的优化(比较方式和省去了通用的错误处理 )

4.对于有些函数其参数直接传一个生成器进去就可以了,不必要转成list,比如

加了方括号反而多此一举

再转一篇分析数据结构时间复杂度的文章:

本文为senlie原创转载请保留此地址:



…… //[2]:使用缓冲池

3.必要时调整dict的内存空间 //当搜索失败且装载率大于或等于2/3时就调整dict的内存空间

3.否则,须要在堆上申请空间

6.必要时释放旧table所维护的内存空间

与PyListObject中使用的缓冲池一样最初什么都没有,当第一个PyDictObject当销毁时

这个缓冲池才開始接纳被缓冲的PyDictObject对象

//[1]:调整dict中对象的引鼡计数 //[2]:释放从系统堆中申请的内存空间 }在创建新的 PyDictObject对象时,假设在缓冲池中有能够使用的对象则直接从缓冲池中取出使用,而不须要叒一次创建

我要回帖

更多关于 python源码剖析笔记 的文章

 

随机推荐