美文网首页
python列表,字典底层实现

python列表,字典底层实现

作者: 葡萄柚子茶 | 来源:发表于2020-06-29 17:24 被阅读0次

(Python列表:初学者应该懂得操作和内部实现 )[https://mp.weixin.qq.com/s/IkFak4iYYqW7u61P7eu22g]
(Python字典的核心底层原理讲解)[https://www.jb51.net/article/155269.htm]
list是由对其他对象的引用组成的数组,列表的头结构包含指向引用数组的指针和长度
pop取出元素后,还是可以使用取出的元素的,因为引用的没有变

很多人说tuple比list快,真的如此吗?
Python代码

size = 1000000  

a = []  
for i in xrange(0, size):  
    a.append(i)  
b = tuple(a)  

for t in xrange(0, 32):  
    sum = 0  
    for e in b:  
        sum += e  

分别遍历list和tuple,跑得的时间是6.925s和6.771s
从实测看来,这个结论是不明显的。
list和tuple在c实现上是很相似的,对于元素数量大的时候,
都是一个数组指针,指针指向相应的对象,找不到tuple比list快的理由。
但对于小对象来说,tuple会有一个对象池,所以小的、重复的使用tuple还有益处的。
为什么要有tuple,还有很多的合理性。
实际情况中的确也有不少大小固定的列表结构,例如二维地理坐标等;
另外tuple也给元素天然地赋予了只读属性。
认为tuple比list快的人大概是把python的tuple和list类比成C++中的数组和列表了。

相关文章

  • python列表,字典底层实现

    (Python列表:初学者应该懂得操作和内部实现 )[https://mp.weixin.qq.com/s/IkF...

  • Python之列表、字典、元祖常见操作

    Python 将列表转为字典 Python元祖转为字典

  • Redis数据结构——字典

    前言 字典在Redis中的应用非常广泛,数据库与哈希对象的底层实现就是字典。 一、复习散列表 1.1 散列表 散列...

  • Redis有这一篇就够了

    Redis 数据结构 链表:列表建的底层实现(头指针和尾指针的双端链表) 字典:哈希键的底层实现 使用链地址法(数...

  • Python底层是怎么实现字典的?

    前言 上次我们分享了列表的底层原理,今天我们继续分享另外一个常用的Python数据结构,字典。字典的键值对,可以让...

  • python 字典相关操作

    1. python 在列表、字典、集合中筛选数据 列表:filter函数、列表解析 字典:字典解析 集合:集合解析...

  • 第四章 字典

    字典是哈希键的底层实现之一,Redis数据库的底层实现也是使用字典。 redis的字典使用哈希表作为底层实现,一个...

  • Python字典的底层实现

    Python字典及特性 字典是一种可变、无序容器数据结构。元素以键值对存在,键值唯一。它的特点搜索速度很快:数据量...

  • 2016/12/26 字典

    字典: 带有单词列表以及单词匹配定义的一本书,Python也是如此定义,通过字典实现键值匹配。既然是字典,自然不会...

  • 字典

    字典的操作方法 字典是python中唯一的映射类型,字典也是python中出列表外,最灵活的内置数据结构类型.列表...

网友评论

      本文标题:python列表,字典底层实现

      本文链接:https://www.haomeiwen.com/subject/muiofktx.html