专栏首页大杂烩python 基本数据类型及底层实现原理 略知
原创

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

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

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

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

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

dict 字典 enumerate zip hash()

底层 哈希表(散列表 实现

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

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

哈希碰撞 公开寻址

set 集合 值为空的字典

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

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

tuple 元组

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

除此之外

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

栈:先进后出 后进先出

队列:先进先出 queue

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Redis系列(九)底层数据结构之五种基础数据类型的实现

    Redis 已经是大家耳熟能详的东西了,日常工作也都在使用,面试中也是高频的会涉及到,那么我们对它究竟了解有多深刻呢?

    呼延十
  • HTTP协议原理及java实现:数据的基本传输模式

    zu说到基于TCP协议的上层协议,绝对绕不开的是HTTP协议,在其设计之初,设计者绝对想不到该协议具备的灵活性能够让其成为最广泛使用的TCP上层协议,在我看来H...

    望月从良
  • 零基础Python学习路线及阶段学习目标

      1、Python编程基础,语法规则,函数与参数,数据类型,模块与包,文件IO,培养扎实的Python编程基本功,同时对Python核心对象和库的编程有熟练的...

    python学习教程
  • 【精华干货】Quant 需要哪些 Python 知识

    谢谢大家的支持!现在该公众号开通了评论留言功能,你们对每篇推文的留言与问题,可以通过【写评论】给圈主留言,圈主会及时回复您的留言。 想在市场上赚钱,必须同时具备...

    量化投资与机器学习微信公众号
  • NLP 训练及推理一体化工具(TurboNLPExp)

    ? 作者:TurboNLP,腾讯 TEG 后台工程师 导语 NLP 任务(序列标注、分类、句子关系判断、生成式)训练时,通常使用机器学习框架 Pytorch...

    腾讯技术工程官方号
  • 针对Quant的Python快速入门指南

    最近有越来越多的朋友在知乎或者QQ上问我如何学习入门Python,就目前需求来看,我需要写这么一篇指南。

    用Python的交易员
  • (数据科学学习手札34)多层感知机原理详解&Python与R实现

      机器学习分为很多个领域,其中的连接主义指的就是以神经元(neuron)为基本结构的各式各样的神经网络,规范的定义是:由具有适应性的简单单元组成的广泛并行互连...

    Feffery
  • 我是如何入门机器学习的呢

    机器学习在很多眼里就是香饽饽,因为机器学习相关的岗位在当前市场待遇不错,但同时机器学习在很多人面前又是一座大山,因为发现它太难学了。在这里我分享下我个人入门机器...

    abs_zero
  • Python金融应用编程|金融工程现在用

    问:现在上有关numeric analysis的课时,都用Python,实际工作时候呢?

    py3study
  • 总要到最后关头才肯重构代码,强如spark也不例外

    用过Python做过机器学习的同学对Python当中pandas当中的DataFrame应该不陌生,如果没做过也没有关系,我们简单来介绍一下。DataFrame...

    TechFlow-承志
  • Python不服不行,不能不知道的Python十大应用领域与就业方向

    近些年,编程语言Python的热度越来越高,因为Python简单,学起来快,是不少程序员入门的首选语言。

    用户7081581
  • 盘点丨入门必读 机器学习六大开发语言

    机器学习的初学者,普遍需要面对一个问题: 到底学习哪个编程语言? 答案可能会让你惊讶:对高手来说,这关系不大。只要你了解所选语言的机器学习库和工具,语言本身其实...

    AI科技评论
  • python 列表的实现探析

    知其然也要知其所以然,python中的容器对象真的不多,平常我们会很心安理得的根据需求来使用对应的容器,不定长数据用list,想去重用set,想快速进行匹配用d...

    Yerik
  • 微信AI的语音合成技术,让“读”书更尽兴

    随着深度学习技术的发展,语音合成技术也经历了从传统的基于参数合成(HTS)至基于深度神经网络的样本级合成(Parallel WaveNet)的变革。相比与传统方...

    公众号-arXiv每日学术速递
  • 推荐一个自学Python的好地方!

    今天给大家分享几个我收藏的宝藏公众号资源。涵盖了Python基础、爬虫、数据分析、数据可视化、算法与人工智能等优质资源,关注之后肯定会大有收货~

    小F
  • python 图像处理类库 PIL (一)

    缩略图方法 thumbnail(size) 的底层调用,不同的是,缩放不会改变原来数据。

    我是一条小青蛇
  • 你已经是个成熟的985大学了,请不要在大一教 C 语言!

    昨天晚上回家后突然在朋友圈发了个问卷,看下国内大学第一门语言到底有多少是用的 C 语言。

    乔戈里
  • 栈与队列:来看看栈和队列不为人知的一面

    那么我这里在列出四个关于栈的问题,大家可以思考一下,以下是以C++为例,相信使用其他编程语言的同学也对应思考一下,自己使用的编程语言里栈和队列是什么样的。

    代码随想录
  • 这里有 300 篇 Python 与机器学习类原创笔记

    主要包括计算机科学中基本的算法与数据结构,结合算法思想和Leetcode实战,总结介绍。

    好好学java

扫码关注云+社区

领取腾讯云代金券