一 .数据结构

  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.常见的迭代器是如下:即该类本身就是可以迭代的。

class xxx
def __iter__():
return self
def __next__():
...

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

#更加一般的迭代形式
class xxx
def __iter__():
return iter(某个实现了__next__的迭代对象或者是一个生成器)

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

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

  f.迭代工具函数:

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

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

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

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

islice:#给迭代器切片

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

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

combinations #一个迭代器返回组合

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

python cookbook的更多相关文章

  1. python cookbook学习1

    python cookbook学习笔记 第一章 文本(1) 1.1每次处理一个字符(即每次处理一个字符的方式处理字符串) print list('theString') #方法一,转列表 结果:['t ...

  2. 《Python cookbook》 “定义一个属性可由用户修改的装饰器” 笔记

    看<Python cookbook>的时候,第9.5部分,"定义一个属性可由用户修改的装饰器",有个装饰器理解起来花了一些时间,做个笔记免得二刷这本书的时候忘了 完整代 ...

  3. python书籍推荐:Python Cookbook第三版中文

    所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/44/ 来源:python黑洞网 内容 ...

  4. python cookbook 小结

    最近一直在看python cookbook.这本书主要讲的是python 语言的一些编程素材.正如它的名字一样,烹饪书.就好像再讲如何处理食材(各种类型的数据),然后再煮菜(算法).打个比方,煮菜随便 ...

  5. 实操一下<python cookbook>第三版1

    这几天没写代码, 练一下代码. 找的书是<python cookbook>第三版的电子书. *这个操作符,运用得好,确实少很多代码,且清晰易懂. p = (4, 5) x, y = p p ...

  6. Python Cookbook 笔记--12章并发编程

    <Python Cookbook(第3版)中文版> 1.队列queue的有些方法是线程不安全的,在多线程中最好别用 2.需要限制一段代码的并发访问量时,用信号量.不要把信号量当做普通的锁来 ...

  7. 【python cookbook】找出序列中出现次数最多的元素

    问题 <Python Cookbook>中有这么一个问题,给定一个序列,找出该序列出现次数最多的元素.例如: words = [ 'look', 'into', 'my', 'eyes', ...

  8. Python CookBook(self report)

    Python CookBook 中文版:https://python3-cookbook.readthedocs.io/zh_CN/latest/copyright.html 英文版:https:// ...

  9. Python Cookbook(第3版) 中文版 pdf完整版|网盘下载内附提取码

    Python Cookbook(第3版)中文版介绍了Python应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字.日期和时间,迭代器和生成器,文件和I/O,数据编码 ...

  10. python 探索(四) Python CookBook 系统管理

    看CookBook就像看小说,挑感兴趣的先学习. 所以继<文本>之后,开始<系统管理>. 同样,请善用目录. 发现一个cookbook:好地址 生成随机密码 from rand ...

随机推荐

  1. OceanBase

    OceanBase 编辑 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! OceanBase是一个支持海量数据的高性能分布式数据库系统,实现了 数千亿条记录.数百TB数据上的 ...

  2. 移动端flexbox的小tips

    我也是看了腾讯isux的博客,解答了我关于flexbox一个很长时间的疑惑,就是flex布局在安卓手机会出现内容长短不同导致不均分的现象. 具体的内容可以去看腾讯isux的博客,地址在这:https: ...

  3. 转载 二十篇java技术热文

    转自微信公众号:java知音 1,详解java类的生命周期 2,Java反射最佳实践 3,Spring的IOC原理 4,Java并发编程:volatile关键字解析 5,Java Thread 总结 ...

  4. Luogu 4726 【模板】多项式指数函数

    补补补…… 这个题的解法让我认识到了泰勒展开的美妙之处. 泰勒展开 泰勒展开就是用一个多项式型的函数去逼近一个难以准确描述的函数. 有公式 $$f(x)\approx g(x) = g(x_0) + ...

  5. python处理Excel 之 xlrd-乾颐堂

    python处理Excel常用到的模块是xlrd.使用xlrd可以非常方便的处理Excel文档,下面介绍一下基本用法 1.打开文件 import xlrd data= xlrd.open_workbo ...

  6. [Fiddler]如何让Fiddler可以抓取https的请求

    Fiddler通过在本机开启了一个http的代理服务器来进行http请求和响应转发,默认情况下,并不能抓取https的请求.下面小编就来介绍下,如何用fiddler来抓取https的请求. 1.打开F ...

  7. Golang 之 Qrcode 二维码

    二维码大行其道,尤其 qrcode ,怎么能少了大golang 呢. follow me . 1.引用 go get github.com/skip2/go-qrcode 2.写 package ma ...

  8. java8 Lambda表达式的10个例子(转)

    原文:http://jobar.iteye.com/blog/2023477 Java8中Lambda表达式的10个例子 例1 用Lambda表达式实现Runnable接口 Java代码 收藏代码// ...

  9. $.each()与$(selector).each()区别

    jQuery.each( collection, callback(indexInArray, valueOfElement) )可用于迭代任何集合,无论是“名/值”对象(JavaScript对象)或 ...

  10. JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(10):通过注解(annotation)装配Bean之(@Configguration、@Component、@Value、@ComponentScan、@Autowired、@Primary、@Qualifier、@Bean)

    一.通过注解(annotation)装配Bean 通过之前的学习,我们已经知道如何使用XML装配Bean,但是更多的时候已经不再推荐使用XML的方式去装配Bean,更多的时候会考虑注解(annotat ...