Python内置数据结构

Python内置数据结构和算法

名称语言内置内置库
线性结构list(列表)/tuple(元组)array(数组)/ collections.nametuple(具名元组)
链式结构collections.deque(双端队列)
字典结构dict(字典)collections.Counter(计数器) / OrderDict(有序字典)
集合结构set(集合) / frozenset( 不可变集合)
排序算法sorted
二分算法bisect模块
堆算法heapq模块

collections模块

名称功能
nametuple通过名称访问元素的元组
deque双端队列,链式结构(可以实现queue/stack)
counter实现计数器功能
orderDict记忆添加顺序的字典
defultDictkey不存在时,有默认值

dict底层

  • 为了支持快速查找使用哈希表作为底层结构
  • 哈希表平均查找时间复杂度O(1)
  • CPython的解释器使用二次探查解决哈希冲突问题
  • 常见问题:
    • 哈希冲突
    • 扩容

List和tuple区别

  • 都是线性结构,支持下标访问
  • list是可变对象,tuple保存的引用不可变
  • list不可作为字典key, tuple可以
    • 可变对象不可hash
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值