Python入门课程6.1—数组、基于数组实现的内置序列类

本文探讨了Python中的低层次数据结构——数组,包括位和字节的概念、存储地址以及数组的定义和特性。接着,文章详细讲解了Python内置序列类,如列表、元组和字符串,它们的共性和区别。特别是动态数组的实现和摊销策略,以及Python内置序列类的效率分析,如列表和元组的添加、删除和查找操作的时间复杂度。最后,强调了字符串类的特性及其操作效率,并指出字符串串联的效率问题。
摘要由CSDN通过智能技术生成

一、低层次数据结构——数组

计算机体系结构的一些低层次内容

1、 位(bit)和字节(byte)

计算机主存由位信息组成,1个字节相当于8位

2、 存储地址

为了跟踪信息存储在哪个字节中,每个存储字节都和一个作为其地址的唯一数字相关联

3、数组(array)
  • 数组的定义
    一组相关变量一个接一个地存储在计算机存储器中一块连续区域内的数据结构即为数组。
  • 数组的特性
    数组的每个单元必须占据相同数量的字节(为了允许使用索引值能够在常量时间内访问数组内的任一单元)。
  • 创建低层次数组
    在计算机系统中,创建低层次数组时,必须明确声明数组的大小,以便系统为其存储分配连续的内存。

二、基于数组实现的python内置序列类

列表类(list):['a','b','c']
元祖类(tuple):(1,2,3)
字符串类(str):'hello world!'

1、共性
  • 都支持用下标访问序列元素,如seq[k]
  • 都使用数组这种低层次概念表示序列
2、不同

列表和元组仅仅储存返回对象的引用,是一种引用结构
字符串是用字符数组表示的,是一种紧凑数组(compact array)

  • 引用结构
    通常将64位地址存入数组,无论存储单个元素的对象有多少位
  • 紧凑数组
    将原始数据(即字符转化的Unicode字节)直接存入数组,通过一个名为array的模块提供支撑。

注:array模块定义了一个类(也命名为array),该类提供了紧凑存储原始数据类型的方法。
array类的构造函数需要以类型代码作为第一个参数(表明要存入数组的数据类型,确定数组的每个元素需要多少位)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值