Python Cookbook 数据结构和算法

这是该书中的第一章,将大概的内容分为20个问题进行讲解。里面其实也是刚好呼应《流畅的python》的第一部分。
这是本章的框架
在这里插入图片描述
当然一个章节的内容不只是这么多,后面还有几个算法的实现。其中再对堆和栈进行下面的比较。
在这里插入图片描述

《字典》使用方法大赏
一、将键映射到多个值上
值的类型:列表:保留插入顺序;集合:取消重复的值;
defaultdict : 自动处理空选项。
二、让字典保持有序
OrderedDIct:严格按照元素的初始添加顺序进行。
!!!该类型的字典是普通字典的2倍大小。
三、计算
zip()函数可以使字典的键值改变互换,但是这个迭代器只能被消费一次。
在这里插入图片描述
可以看到平时的计算公式只能根据键来进行排序,但是用这个函数后就可以用值了。
四、寻找相同点
字典的键支持集合操作
在这里插入图片描述
五、提取子集
采用字典推导公式的方法最快
在这里插入图片描述

六、将多个映射合并为单个映射
ChainMap(详情参考我的流畅的python读书笔记)

骚操作:
一、从序列中删除重复项且保持顺序不变
删除重复项,我们可能会使用集合,但是集合并不能保持顺序不变。
所以我采取使用dedupe函数。
二、对切片命名
使用slice函数操作
三、找出序列中出现次数最多的
Counter字典,并配合使用update()方法
四、利用公共键值对对字典排序||可以用于原生不支持对象的排序
其实就是对key值的重定义,采用operator中的itemgetter函数。
五、根据字段对记录分组
itertools.groupby()首先应该是对其排序,然后再进行分组操作
六、筛选元素
fliter()函数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值