【Python基础】整数、字符串、列表、字典的内存结构

1.整数、字符串

整数、字符串是简单的数据类型,它的内存结构图为:

Python中一切皆对象,变量的内存结构图也同上图,有id、type、value。

当把整数、字符串赋值给变量时,变量储存的是整数、字符串的id,存在自己的value字段中,如下图:

 

 

2.列表

列表可以储存多个不同的数据类型的对象,如下图:

列表储存整数对象时,将对象id存到自己的value字段,并且生成3个连续id。当把列表赋值给变量时,变量将列表id,也就是连续id的第一个,存在自己的value字段中

3.字典

字典本质和列表结构相似,都可以储存多个不同的数据类型的对象,如下图:

 其中对象1,对象1'分别为字典的键、值。键可以是字符串、整数、元组这些不可变类型,值可以是任何数据类型。

需要注意:

1.列表是有序的,字典是无序的。字典中对象不是按照放入顺序从上到下排的,而用hash()函数计算键的散列值,然后计算偏移量,从而根据偏移量得出键在列表中的行数位置,值则与键一同写入该行的两个bucket

2.字典查询很快,因为查询原理类似真的字典

3.字典很占内存空间,因为有空的行

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值