为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第1天 Python体系补全

标签:
Python

课程名称: python必学模块-collections
课程章节: 课程介绍 + tuple + namedtuple
课程讲师: bobby
课程内容:
主要讲Python collections模块

collection模块,最常用六大数据结构:deque,defaultdict,Counter,OrderedDict,ChainMap,这些是基础数据结构的高级结构,里面的功能非常好用,可以考虑优先使用

tuple:不可变元祖

特点:不可变、iterable

  • iterable:可迭代对象,__iter__魔法函数
  • 不可变:tuple[0] = xxx 会报错
    • 是相对的,不是绝对的
  • 比list好用:
    • immutable:性能优化、线程安全、可作为dict的key、拆包特性
      • key: hashable的对象,才能作为key
      • {xx_tuple:6}
    • 类似C中的struct

用法:

  1. 拆包
    xx_tuple = (1,2,3)
    a,b,c = xx_tuple
    a, *other = user_tuple

namedtuple:

  • 对于对象,可以通过点语法访问属性
    • User = namedtuple(“User”, [“name”,“age”])
    • user = User(name=“xxx”, age=6)
  • 定位:tuple的子类、相对class节省空间(适用于数据处理方面)
  • *的用法:*args, **kwargs的用途:
    • args: tuple的
    • kwargs:keyword参数
    • *:可以认为是解包tuple的意思
    • **:解包dict的意思
  • 好用的方法:
    • _asdict():转换为dict

defaultdict:

  • dict的方法:dict.setdefault(key, value) -> 如果key没出现过,则设置其对应value
  • defaultdict:设置了setdefault的dict
  • default_dict = defaultdict(int) # 默认值会为0
  • =defaultdict(函数名) # 这个自定义函数返回个dict,也行

课程收获:
补充到了一些日常比较少用的数据结构,还蛮有趣的。
明天继续学掉剩下的几个,之后开始研究量化啦。
嗯嗯!

图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消