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.常见的迭代器是如下:即该类本身就是可以迭代的。
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的更多相关文章
- python cookbook学习1
python cookbook学习笔记 第一章 文本(1) 1.1每次处理一个字符(即每次处理一个字符的方式处理字符串) print list('theString') #方法一,转列表 结果:['t ...
- 《Python cookbook》 “定义一个属性可由用户修改的装饰器” 笔记
看<Python cookbook>的时候,第9.5部分,"定义一个属性可由用户修改的装饰器",有个装饰器理解起来花了一些时间,做个笔记免得二刷这本书的时候忘了 完整代 ...
- python书籍推荐:Python Cookbook第三版中文
所属网站分类: 资源下载 > python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/44/ 来源:python黑洞网 内容 ...
- python cookbook 小结
最近一直在看python cookbook.这本书主要讲的是python 语言的一些编程素材.正如它的名字一样,烹饪书.就好像再讲如何处理食材(各种类型的数据),然后再煮菜(算法).打个比方,煮菜随便 ...
- 实操一下<python cookbook>第三版1
这几天没写代码, 练一下代码. 找的书是<python cookbook>第三版的电子书. *这个操作符,运用得好,确实少很多代码,且清晰易懂. p = (4, 5) x, y = p p ...
- Python Cookbook 笔记--12章并发编程
<Python Cookbook(第3版)中文版> 1.队列queue的有些方法是线程不安全的,在多线程中最好别用 2.需要限制一段代码的并发访问量时,用信号量.不要把信号量当做普通的锁来 ...
- 【python cookbook】找出序列中出现次数最多的元素
问题 <Python Cookbook>中有这么一个问题,给定一个序列,找出该序列出现次数最多的元素.例如: words = [ 'look', 'into', 'my', 'eyes', ...
- Python CookBook(self report)
Python CookBook 中文版:https://python3-cookbook.readthedocs.io/zh_CN/latest/copyright.html 英文版:https:// ...
- Python Cookbook(第3版) 中文版 pdf完整版|网盘下载内附提取码
Python Cookbook(第3版)中文版介绍了Python应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字.日期和时间,迭代器和生成器,文件和I/O,数据编码 ...
- python 探索(四) Python CookBook 系统管理
看CookBook就像看小说,挑感兴趣的先学习. 所以继<文本>之后,开始<系统管理>. 同样,请善用目录. 发现一个cookbook:好地址 生成随机密码 from rand ...
随机推荐
- 256. Paint House房屋染色
[抄题]: There are a row of n houses, each house can be painted with one of the three colors: red, blue ...
- centos6.5 svn服务端搭建
一.前言 Subversion是一个免费的开源的版本管理系统,它是作为CVS(Concurrent Versions System)的取代品出现的.本文简单介绍了Subversion在centos上的 ...
- myeclipse10.X以上的破解方法
破解补丁下载地址:http://pan.baidu.com/s/1dDzVP3z 本文使用的破解补丁对MyEclipse Standard/ Professional/ Blue/ Spring的10 ...
- Ubuntu 安装QT5 后编译程序报错: FindQt5Widgets.cmake
安装QT5.4后,需要编译一个C++程序. Cmakelist 有find_package(Qt5Widgets REQUIRED),cmake 报错如下: CMake Error at CMakeL ...
- NHibernate获取实体配置信息(表名,列名等等)
// 注意这里有个&符号,并不是写错了,而是约定 就是这样写的ctx.GetObject("&SessionFactory") 这是官网地址http://nhfor ...
- understand的安装
1.win7 64位下安装 1)下载Understand.4.0.908.x64.rar. 2)解压之,直接运行里面的Understand-4.0.908-Windows-64bit.exe. 3)选 ...
- 黑盒测试实践-任务进度-Day04
任务进度11-29 使用工具 selenium 小组成员 华同学.郭同学.穆同学.沈同学.覃同学.刘同学 任务进度 经过了前两天的学习任务的安排,以下是大家的任务进度: 华同学(任务1) 1.和其他小 ...
- springboot+mongonDB
一.mongonDB基本介绍 什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. Mon ...
- 【转载】SQL注入攻防入门详解
滴答…滴答…的雨,欢迎大家光临我的博客. 学习是快乐的,教育是枯燥的. 博客园 首页 博问 闪存 联系 订阅 管理 随笔-58 评论-2028 文章-5 trackbacks-0 站长 ...
- 编写高质量代码改善C#程序的157个建议——建议156:利用特性为应用程序提供多个版本
建议156:利用特性为应用程序提供多个版本 基于如下理由,需要为应用程序提供多个版本: 应用程序有体验版和完整功能版. 应用程序在迭代过程中需要屏蔽一些不成熟的功能. 假设我们的应用程序共有两类功能: ...