python cookbook是什么_python cookbook

一 .数据结构

python collections包中

deque :固定长度队列,(例如固定长度的cache什么的)

defaultdict:如果每个键值不存在,默认返回值

orderdict:有顺序的字典,按照插入的顺序,该结构内部维护了一个根据键插入顺序排序的双向链表。

counter: 频率计算器,将一个列表冲出现的重复元素,组合成为{元素:频率}字典表,以及一些函数。

nametuple:命名记录,大量同样的字段的数据。可以根据字段名字查询值。

ChainMap:将多个字典映射为一个统一操作

heapq:排序的堆,

nlargest:最大的n个数字

nsmallest:最小的n个数字

heapq.push,

heapq.pop

dict:字典

zip:将多个列表合成多维tuple单个列表

列表的keys(),items()支持集合运算

list:列表

slice:命名切片 slice(20, 23)

sorted 函数: 其中的key可以传入callable对象,这个对象对每个value都返回一个值,供排序

itemgetter:获取字典中的key对应值

attrgetter:获取对象中的key对应值

groupby 函数:

itertools:迭代器

二.迭代器:

a.迭代协议: 实现了__iter__()方法,且该方法返回一个实现了 __next__()方法的对象。(严格来说迭代器只需要实现__iter__方法,不需要实现__next__方法。)

b.常见的迭代器是如下:即该类本身就是可以迭代的。

classxxxdef __iter__():returnselfdef __next__():

...

c.也可以通过__iter__实现代理迭代,这个时候是不需要__next__方法的。

#更加一般的迭代形式

classxxxdef __iter__():return iter(某个实现了__next__的迭代对象或者是一个生成器)

d.生成器:使用yield的函数,在系统内部被转变成为一个迭代器。生成器很简单明了。迭代器可以包含更多的数据,甚至可以将迭代过程数据给记录下来。因此迭代器具备普遍性,具备更多的功能。

e.反向迭代:实现了__reversed__函数的类。

f.迭代工具函数:

iter, #返回迭代对象 iter(迭代器,末尾值)

next,#返回下个迭代对象 next(迭代器)

enumerate,#重新构建一个迭代器,返回迭代对象与索引

zip,#重新构建一个迭代器,将多个迭代器组合成为一个新的迭代器,返回多个迭代器的值形成的tuple

islice:#给迭代器切片

dropwhile:#丢弃迭代器不需要的数据

permutations:#一个迭代器返回排列

combinations#一个迭代器返回组合

yield from #展开迭代器,跟iter()一样

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值