Python基础整理

1 线性表 

  • 一组元素序列的抽象

1.1 顺序表

  • 内存中开辟一块空间连续存储,物理存储也连续
  • 有序,可插队离队,队尾增删效率还行,如果在队首或者队中增删会引起大量数据挪动,效率低
  • 索引效率高 O(1)

1.2 链接表

  • 物理存储不连续,通过指针将链表连接起来
  • 有序,类似小朋友手拉手,可插队离队

1.3 其他应用

  • 栈 通过顺序表来实现
  • 堆 顺序表和链表皆可实现

 

2 列表 list

  • 可变
  • 元素可以是任意对象(数字、字符串、对象、列表等)
  • 可索引   O(1)
  • 列表复制为浅拷贝

 

3 元组 tuple

  • 有序的元素集合
  • 不可变

 

4 字符串 str

  • 一个个字符组成的有序的序列,是字符的集合(python没有char的概念,字符串拆开还是字符串)
  • 不可变对象,是字面常量

 

5 字节序列

  • bytes不可变字节序列
  • bytearray是可变字节数组

 

6 ASCII表

  • \x00  NULL  是ASCII表中第一项,C语言中的字符串结束符
  • \t   \x09   9     表示tab字符
  • \n  \x0a   10   换行
  • \r   \x0d   13   回车
  • \x30~\x39 字符0~9,\x31是字符1
  • \x41对应十进制65,表示A
  • \x61对应十进制97,表示a

 

7 集合 set

  • 可变的、无序的、不重复

7.1 元素性质

  • 去重:在集合中,所有元素必须相异
  • 无序:因为无序,所以不可索引
  • 可哈希:Python集合中的元素必须可以hash,即元素都可以使用内建函数hash
  • 可迭代:set中虽然元素不一样,但元素都可以迭代出来

7.2 不可哈希对象

list、set、bytearray、dictionary

set元素必须是可hash

7.3 可哈希对象

数值型int、float、complex

布尔型True、False

字符串string、bytes

tuple

None

以上都是不可变类型,称为可哈希类型,hashable

7.4 遍历

只要是容器,都可以遍历,效率都是O(n)

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值