一、内存
内存一个字节8位,一个字节有一个地址标识,内存是连续的存储单元
如:一个整型占四个字节int a=1内存中表示如下
从取的角度,上图中存时代表a,则取时也当做一个整体,若存时当做4个字符,取时00000001当做一个字符,00000000当做一个字符
二、顺序表基本布局
1.存取同类型数据
list=[7,2100,390]连续存放,想要找第三个数,用起始位置加上逻辑地址*存储单元
2、存储不同类型的数据
需要用元素外置,即把地址存储下来,通过地址去找数据
li=[12,“ab”,1.111,10000] 12占四个,ab占两个,虽然数据类型所占字节不一,但地址都是占四个字节
三、顺序表的结构:表头信息区(容量,元素个数)+数据区
四、表头区和数据区存储的实现方式:一体式和分离式
一体式,在存储空间不够,新增数据时需要整体替换,把原先的释放掉,
分离式只需要将地址指向新的存储空间,表头不用移动,变量的起始位置也不用改变
五、元素存储区域扩充
增加固定数目和扩充容量加倍(推荐)
总结:python中list和tuple采用了顺序表的实现技术,具有以上顺序表的所有性质,
tuple是不变的顺序表,不支持改变其内部状态的任何操作