文章目录

  • 一、数据结构
  • 二、字符串和文本
  • 三、数字、日期和时间
  • 四、迭代器与生成器
  • 五、文件与IO

一、数据结构

标题 关键词
1.1:拆分序列后赋值给多个变量 可迭代对象、拆分赋值
1.2:拆分任意长可迭代对象后赋值给多个变量 可迭代对象、拆分赋值、星号表达式
1.3:保留最近N个元素 collections.deque、限容双端队列、yield
1.4:查找最大或最小的N个元素 heapq、堆
1.5:实现一个优先级队列 heapq、堆、元组比较
1.6:字典中的键映射多个值 字典、collections.defaultdict
1.7:字典排序 collections. OrderedDict、双向链表
1.8:字典运算 字典、最小值、最大值、排序、键集、值集、键值对换、lambda
1.9:查找两字典的相同点 set、集合交与差的运算、字典推导式
1.10:删除序列相同元素并保持顺序 set、yield、list、lambda
1.11:命名切片 魔数、切片、slice()、indices()
1.12:序列中出现次数最多的元素 collections.Counter、字典
1.13:通过某个关键字排序一个字典列表 排序、sorted()、operator.itemgetter、lambda
1.14:排序不支持原生比较的对象 排序、sorted()、operator.attrgetter、lambda
1.15:通过某个字段将记录分组 分组、operator.itemgetter、litertools.groupby()
1.16:过滤序列元素 列表推导式、生成器表达式、itertools.compress()
1.17:从字典中提取子集 字典推导式
1.18:映射名称到序列元素 下标另名为、collections.namedtuple()
1.19:转换并同时计算数据 聚集函数、sum()、max()、min()、列表推导式、生成器表达式
1.20:合并多个字典或映射 逻辑上的字典、collections.ChainMap

二、字符串和文本

标题 关键词
2.1:使用多个界定符分割字符串 re、split()、正则式、非捕获分组、生成器表达式、[:]、[::]
2.2:字符串开头或结尾匹配 str.startswith()、str.endswith()、列表推导式
2.3:用Shell通配符匹配字符串 fnmatch.fnmatch()、fnmatch.fnmatchcase()、列表推导式
2.4:字符串匹配和搜索 re、正则式、compile()、match()、findall()、group()
2.5: 字符串搜索和替换 re、正则式、compile()、sub()、str.repalce()
2.6:字符串忽略大小写的搜索替换 re、正则式、re.IGNORECASE
2.7:最短匹配模式 re、正则式、非贪婪模式
2.8:多行匹配模式 re、正则式、非捕获组、re.DOTALL
2.9:将Unicode文本标准化 unicodedata.normalize()
2.10:在正则式中使用 Unicode re、正则式、Unicode
2.11:删除字符串中不需要的字符 str.strip()、str.lstrip()、str.rstrip()
2.12:审查清理文本字符串 str.translate()、str.replace()
2.13:字符串对齐 str.ljust() 、str.rjust()、str.center()、format()、%
2.14:合并拼接字符串 +、str.join()、format()、yield
2.15:字符串中插入变量 str.format()、str.format_map()
2.16:以指定列宽格式化字符串 textwrap.fill()
2.17:在字符串中处理html和xml html.escape()、html.parser、xml.sax.saxutils
2.18:字符串令牌解析 re、正则式、编译原理
2.19:实现一个简单的递归下降分析器 re、正则式、编译原理
2.20:字节字符串上的字符串操作 字节字符串

三、数字、日期和时间

标题 关键词
3.1:数字的四舍五入 round()、format()
3.2:执行精确的浮点数运算 Decimal
3.3:数字的格式化输出 format()
3.4:二、八、十六进制整数 bin()、oct()、hex()、format()
3.5:字节到大整数的打包与解包 int.from_bytes()、int.to_bytes()
3.6:复数的数学运算 complex()、cmath、numpy
3.7:无穷大与 NaN float()、man.isinf()、math.isnan()
3.8:分数运算 Fraction
3.9:大型数组运算 numpy
3.10:矩阵与线性代数运算 numpy
3.11:随机选择 random
3.12:基本的日期与时间转换 datetime、timedelta
3.13:计算最后一个周五的日期 datetime、timedelta
3.14:计算当前月份的日期范围 datetime、timedelta、date、calendar
3.15:字符串转换为日期 datetime
3.16:结合时区的日期操作 datetime、pytz

四、迭代器与生成器

标题 关键词
4.1:手动遍历迭代器 next()、iter()
4.2:代理迭代 __iter__()
4.3:使用生成器创建新的迭代模式 frange()、range()、next()
4.4:实现迭代器协议 yield、yield from
4.5:反向迭代 reversed()
4.6:带有外部状态的生成器函数 __iter__()
4.7:迭代器切片 itertools.islice()
4.8:跳过可迭代对象的开始部分 itertools.dropwhile()、islice()
4.9:排列组合的迭代 itertools.permutations()排列、itertools.combinations()组合
4.10:序列上索引值迭代 enumerate()枚举
4.11:同时迭代多个序列 zip()
4.12:不同集合上元素的迭代 itertools.chain()
4.13:创建数据处理管道 yield、yield from、itertools.chain()
4.14:展开嵌套的序列 isinstance()、yield from
4.15:顺序迭代合并后的排序迭代对象 heapq.merge()
4.16:迭代器代替 while 无限循环 iter()、lambda

五、文件与IO

标题 关键词
5.1:读写文本数据 open(), with…as…, encoding=
5.2:打印输出至文件中 print(’’, file=f)
5.3:使用其他分隔符或行终止符打印 print(’’, ‘’, ‘’, sep=’’, end=’’), str.join((’’,))
5.4:读写字节数据 open(), rb, wb
5.5:文件不存在才能写入 open(), xt, xb, os.path.exists()
5.6:字符串的 I/O 操作 io.StringIO(), io.BytesIO()
5.7:读写压缩文件 gzip, bz
5.8:固定大小记录的文件迭代 iter(), functools.partial()
5.9:读取二进制数据到可变缓冲区中 bytearray(), file.readinto
5.10:内存映射的二进制文件 mmap
5.11:文件路径名的操作 os.path
5.12:测试文件是否存在 os.path
5.13:读写压缩文件 os.listdir(), glob
5.14:忽略文件名编码 sys.getfilesystemencoding()
5.15:打印不合法的文件名 UnicodeEncodeError
5.16:增加或改变已打开文件的编码 io.TextIOWrapper()
5.17:将字节写入文本文件 sys.stdout.buffer.write(b’’)
5.18:将文件描述符包装成文件对象 os.open(), open()
5.19:创建临时文件和文件夹 tempfile.TemporaryFile, tempfile.NamedTemporaryFile, tempfile.TemporaryDirectory()
5.20:与串行端口的数据通信 serial.Serial()
5.21:序列化 Python 对象 pickle.dump(), pickle.load()

待续

《Python Cookbook 3rd》笔记汇总相关推荐

  1. JNA实战笔记汇总一 简单认识JNA|成功调用JNA

    一.简介 先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言(尤其C/C++)写的代码进行交互,只要遵守调用约定即可.首先看下 ...

  2. JNA实战笔记汇总(一)—— JNA简介及demo环境创建

    目录 1.简介 2.原理 3.配置环境,创建demo 3.1 搞清楚.dll/.so文件适用环境 3.2 创建一个普通的maven项目 3.2.1 将.dll/.so文件放在resources根路径下 ...

  3. Java8实战笔记--组合异步编程

    一.Future 初衷是对将来某个时刻会发生的结果进行建模. 想象成这样的场景:你拿了一袋子衣 服到你中意的干洗店去洗.干洗店的员工会给你张发票,告诉你什么时候你的衣服会洗好(这就 是一个Future ...

  4. c++ jna 数据类型_JNA实战笔记汇总一 简单认识JNA|成功调用JNA

    一.简介 先说JNI(Java Native Interface)吧,有过不同语言间通信经历的一般都知道,它允许Java代码和其他语言(尤其C/C++)写的代码进行交互,只要遵守调用约定即可.首先看下 ...

  5. JNA实战笔记汇总(二)——JNA和C / C ++的数据类型映射(dll函数回调、结构体、指针)

    目录 JNA技术难点 1.函数回调 2.结构体 3.指针 JNA技术难点 有过跨平台.跨语言开发的程序员都知道,跨平台.预研调用的难点,就是不同语言之间数据类型不一致造成的问题.绝大部分跨平台调用的失 ...

  6. 《Java8实战》笔记汇总

    <Java8实战>笔记(01):为什么要关心Java8 <Java8实战>笔记(02):通过行为参数传递代码 <Java8实战>笔记(03):Lambda表达式 & ...

  7. 《Java8实战》读书笔记06:Parallel Stream 并行流

    <Java8实战>读书笔记06:Parallel Stream 并行流 第7章 并行数据处理与性能 7.1 并行流 7.1.1 将顺序流转换为并行流 7.1.2 测量流性能 7.1.3 正 ...

  8. 《Java8实战》-第六章读书笔记(用流收集数据-01)

    用流收集数据 我们在前一章中学到,流可以用类似于数据库的操作帮助你处理集合.你可以把Java 8的流看作花哨又懒惰的数据集迭代器.它们支持两种类型的操作:中间操作(如 filter 或 map )和终 ...

  9. 《Java8实战》读书笔记10:组合式异步编程 CompletableFuture

    <Java8实战>读书笔记10:组合式异步编程 CompletableFuture 第11章 CompletableFuture:组合式异步编程 11.1 Future 接口 (只是个引子 ...

  10. Java8实战学习笔记(三)——函数式数据处理

    一.引入流 (一).引言 1.流是什么 流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现).可以看成遍历数据集的高级迭代器. 流可以透明地并行 ...

最新文章

  1. Xubunbtu远程桌面的tab键
  2. 服务器更改文件夹权限,云服务器如何修改文件权限
  3. 如何在Java中检查字符串是否为数字
  4. 电动力学每日一题 2021/10/13 用Fourier变换法计算静止电荷产生的电场
  5. spark和HSQL的连接join方式
  6. linux学习笔记(10)fdisk命令
  7. hi3531交叉编译环境arm-hisiv100nptl-linux搭建过程
  8. 由Object.prototype.toString.call( )引发关于toString( )方法的思考
  9. SpringBoot使用外置的Servlet容器
  10. FreeRTOS(2)---学习FreeRTOS前的准备工作
  11. 计算机语言列表,计算机语言java中得List
  12. thinkphp5学习笔记
  13. LIO-SAM探秘第三章之代码解析(一) --- utility.h + imageProjection.cpp
  14. win7原版iso镜像下载 windows7官方原版全系列(正式版、专业版、企业版、家庭版)下载
  15. matlab画图函数汇总(二)
  16. (十四)A Deep Neural Network for Unsupervised Anomaly Detection and Diagnosis in Multivariate Time Seri
  17. 新医改背景下,民营医院如何通过绩效变革支持高质量发展?
  18. 高并发系统负载均衡与实时监控的实用方案
  19. 微信iOS版7.0版发布:界面全新改版
  20. 【马红“名师+”研修共同体】“课” 展风采,“研”无止境----教学交流活动(二)

热门文章

  1. Microsoft Windows CE .NET 中的中断体系结构
  2. 交通与计算机杂志社,交通信息与安全
  3. 锐炬显卡可以linux吗,Intel Broadwell桌面CPU性能测试:Iris Pro 6200核显无敌了
  4. mysql的每隔1分钟定时_mysql定时任务
  5. arcgis选出点规定范围的面
  6. 【转】DICOM医学图像读取涉及到的医学坐标体系
  7. 【转】Asp.net的生命周期之应用程序生命周期
  8. .NET 实现并行的几种方式(三)
  9. php 父类中获取子类的名称,php – 在父类中获取子类的名称(静态上下文)
  10. Spark的Transformations算子(理解+实例)