美文网首页我爱编程
python篇---看面经总结(总结中)

python篇---看面经总结(总结中)

作者: 安于此生__ | 来源:发表于2018-04-20 16:36 被阅读0次

1.python中list底层怎么实现的
先看下面的程序

>>> L.append(1)
>>> L.append(2)
>>> L.append(3)
>>> L
[1, 2, 3]
>>> for e in L:
...   print e
... 
1   
2   
3 

cpython中,list对象的结构是:

typedef struct {
    PyObject_VAR_HEAD
    PyObject **ob_item; #用来保存元素的指针数组
    Py_ssize_t allocated; #是ob_item预先分配的内存总容量
} PyListObject;

List initialization初始化:返回l = []
ob_size的大小和len(L)是一样的,而allocated的大小是在内存中已经申请空间大小。通常你会看到allocated的值要比ob_size的值要大。这是为了避免每次有新元素加入list时都要调用realloc进行内存分配。

在list中追加一个整数:L.append(1)。发生了什么?调用了内部的C函数app1()
当你弹出list的最后一个元素:L.pop()。调用listpop(),list_resize在函数listpop()内部被调用,如果这时ob_size(弹出元素后)小于allocated(已经申请的内存空间)的一半。这时申请的内存空间将会缩小。

  1. list 和dict有什么区别
    1. list是有序的,dict是无序的
    2. list通过索引访问,dict使用key访问
    3. list随着数量的正常增长要想查找元素的时间复杂度为O(n), dict不随数量而增长而变化,时间复杂度都为O(1)
    4. dict的占用内存稍比list大,会在1.5倍左右

list一般可作为队列、堆栈使用,而dict一般作为聚合统计或者快速使用特征访问等
Tuple可以看做是一种“不变”的List,访问也是通过下标,用小括号()表示

3.手写对dict排序

4.python中key-value数据结构()
python中dict结构,pandas中有Series和dateFrame。

5.dict底层如何实现的
采用的是哈希表实现的。能在o(1)的时间内完成搜索。处理冲突的时候使用的是开放地址法。
PyDictObject对象就是dict的内部实现。字典中的一个key-value键值对元素称为entry(也叫做slots),对应到Python内部是PyDictEntry,PyDictObject就是PyDictEntry的集合。

相关文章

  • python篇---看面经总结(总结中)

    1.python中list底层怎么实现的先看下面的程序 cpython中,list对象的结构是: List ini...

  • 2022年Android开发岗面经汇总(腾讯、网易、哔哩哔哩等)

    前言 我今天来分享一篇Android 开发的面经总结分享,该文的面经来源于本人和朋友,这一年中面试经典记录,文中公...

  • 面经总结

    有时候越想要得到一样东西往往会因为太用力想要抓住而失去。这次面试的失败还是给了我重重的一击,曾经的我会因为大三就拿...

  • 三年Android开发经验,从字节抖音组离职后,一口气面试21一

    (文章很长,不想看面经的朋友可以直接到最后看总结) 我这篇文章并不是简单的描述一些面试中的题,或者总结一些技术知识...

  • Netty面经总结

    BIO、NIO和AIO的区别 思路:此处先从OS操作系统层面IO模型和阻塞、非阻塞模式开始介绍,然后拓展到应用层的...

  • 360面经总结

    一面 html html语义化的理解 html语义化的标签,列举 css css盒模型 position的值及re...

  • 字节面经总结

    一面 自我介绍 项目问题 手写axios获取数据 手写一个请求,如果response的status为0,表示失败,...

  • 滴滴面经总结

    一面 自我介绍 通过什么方式学前端,看什么书 BOM了解嘛?有哪些属性,详细说说 浏览器渲染页面的过程 说说前序、...

  • 互联网产品经理面试问题汇总(18问)

    写在前面: 以下内容是根据自己看了很多面试经验之后的总结,包括百度面经,腾讯面经,新浪面经,360面经,搜狐面经,...

  • 美图Android岗面经总结篇

    作者:小石 前言 最近在网上找了不少面试相关的资料学习准备面试!如果您觉得里面的问题不错,在面试准备的时候学习看看...

网友评论

    本文标题:python篇---看面经总结(总结中)

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