这章主要介绍一些python的标准库。
1、有用的算法和数据结构
列表和双端队列
bisect 模块 --- 在有序数组中进行快速查找
字典
字典可以高效的计算列表中独特元素的个数
for item in items:
counter[item] += 1
collections.defaultdict 生成一个字典,并给每个新键自动指定一个默认值。
集
无序元素集合,且其中的每个元素都必须是独一无二的。
堆
堆事一种设计用于快速查找并提取集合中最大值和最小值的数据结构,其典型用途事按照优先级处理一系列任务。
堆事通过堆列表执行模块heapq中的函数来创建的。
字典树
在列表中查找与前缀匹配的字符串方面,字典树的速度极快,因此非常适合用来实现输入时查找和自动补全功能。
三方库实现: patricia-trie
2、缓存和memoization
以牺牲空间为代价换取时间
functools 模块 lru_cache
joblib 提供基于磁盘的简单缓存
3、推导和生成器
在python中推导和生成器表达式时经过极度优化的操作,非常适合用来替代显式的 for 循环。