前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 基本数据类型及底层实现原理 略知

python 基本数据类型及底层实现原理 略知

原创
作者头像
不学就是不会
修改2021-07-26 11:18:30
1.3K0
修改2021-07-26 11:18:30
举报
文章被收录于专栏:大杂烩大杂烩

​list 列表 [i for i in range(num)]

底层由线性表实现,列表中元素 保存的不是具体的数据的内存地址,而是 指针(就是指向元素的内存地址的指针)

简而言之:列表 存储的是指针 就是指向内存的头信息和元素 分开放 所以可以动态的扩容 也可以 多种数据结构的数据

列表的扩容:首先会申请8个元素的内存空间大小,然后如果满了,扩容4倍,直至数量达到了50000个,就扩容2倍的连续储存空间。

dict 字典 enumerate zip hash()

底层 哈希表(散列表 实现

其实字典是由一个关联数组或者哈希数组, 数组的索引是 将 键通过哈希算法得到的整型数字 对数组长度取余 取余的结果就是下标 索引 根据索引区查找内存地址

dict元素修改更新 判断的依据就是 索引对应的表的内存空间的键值对和要修改的键值对是否一致

哈希碰撞 公开寻址

set 集合 值为空的字典

判断两个元素是否一致 依据就是 hash值 是否一致

frozenset 冰冻集合 不可变的数据类型 是能做 交差并补 操作

tuple 元组

元组是长度不可变的数组, 列表则是可变的数组

除此之外

链表:单个节点存储的是数据 和 指向下一个节点的指针(就是下一个节点的位置)

栈:先进后出 后进先出

队列:先进先出 queue

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ​list 列表 [i for i in range(num)]
  • dict 字典 enumerate zip hash()
  • set 集合 值为空的字典
  • tuple 元组
  • 除此之外
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档