内容简介
作者 | Christian Mayer
计算机科学博士,知名Python网站创始人和维护者。该网站非常活跃,订阅人数已经超过2万且仍在持续增长。他的网站不仅发展迅速,也帮助数以万计的学习者提升了编码技能和优化了在线业务。他同时也是Coffee Break Python系列自出版图书的作者。
译者 | 苏丹
网上id一般为su27,2009年毕业于北京师范大学数学系,主要从事后端编程,也曾从事前端与客户端开发工作。目前为豆瓣用户产品后端负责人,日常跟Python打交道较多。2016年翻译出版《深入理解Flask》一书。
作品目录
导语 ........................................................................................................................ 1
Python 一行流的例子 ................................................................................................... 2
关于可读性的说明 ....................................................................................................... 3
这本书是给谁看的? ................................................................................................... 4
你会学到什么? ........................................................................................................... 5
线上资源 ....................................................................................................................... 6
1 Python 温故知新 ................................................................................................ 7
基本数据结构 ............................................................................................................... 8
数值数据类型和结构 ........................................................................................... 8
布尔值 ................................................................................................................... 8
字符串 ................................................................................................................. 11
关键字 None ....................................................................................................... 12
容器数据类型 ............................................................................................................. 13
列表 ..................................................................................................................... 13
堆栈 ..................................................................................................................... 16
集合 ..................................................................................................................... 17
字典 ..................................................................................................................... 19
成员 ..................................................................................................................... 20
XVIII Python 一行流
列表和字典解析 ................................................................................................. 20
控制流 ......................................................................................................................... 21
if、else 和 elif ..................................................................................................... 21
循环 ..................................................................................................................... 22
函数 ............................................................................................................................. 24
lambda 函数 ................................................................................................................. 24
总结 ............................................................................................................................. 25
2 Python 技巧 ..................................................................................................... 27
使用列表解析找出最高收入者 .................................................................................. 28
基础背景 ............................................................................................................. 28
代码 ..................................................................................................................... 30
它是如何工作的 ................................................................................................. 31
使用列表解析找出高信息价值的单词 ...................................................................... 31
基础背景 ............................................................................................................. 31
代码 ..................................................................................................................... 32
它是怎么工作的 ................................................................................................. 32
读取文件 ..................................................................................................................... 33
基础背景 ............................................................................................................. 33
代码 ..................................................................................................................... 34
它是怎么工作的 ................................................................................................. 34
使用 lambda 和 map 函数 ........................................................................................... 35
基础背景 ............................................................................................................. 35
代码 ..................................................................................................................... 36
它是如何工作的 ................................................................................................. 37
使用切片查找匹配子串及所处环境 .......................................................................... 38
基础背景 ............................................................................................................. 38
代码 ..................................................................................................................... 40
它是如何工作的 ................................................................................................. 41
列表解析和切片 ......................................................................................................... 41
基础背景 ............................................................................................................. 42
代码 ..................................................................................................................... 42
它是如何工作的 ................................................................................................. 43
使用切片赋值来修复损坏的列表 .............................................................................. 43
基础背景 ............................................................................................................. 43
代码 ..................................................................................................................... 44
它是如何工作的 ................................................................................................. 45
使用列表连接分析心脏健康数据 .............................................................................. 46
基础背景 ............................................................................................................. 46
代码 ..................................................................................................................... 48
它是如何工作的 ................................................................................................. 48
使用生成器表达式查出未达最低工资标准的公司 .................................................. 48
基础背景 ............................................................................................................. 49
代码 ..................................................................................................................... 49
它是如何工作的 ................................................................................................. 50
使用 zip()函数格式化数据库 ..................................................................................... 51
基础背景 ............................................................................................................. 51
代码 ..................................................................................................................... 52
它是如何工作的 ................................................................................................. 53
总结 ............................................................................................................................. 54
3 数据科学 .......................................................................................................... 55
基础二维数组计算 ..................................................................................................... 56
基础背景 ............................................................................................................. 56
代码 ..................................................................................................................... 59
它是如何工作的 ................................................................................................. 60
使用 NumPy 数组:切片、广播和数组类型 ........................................................... 61
基础背景 ............................................................................................................. 61
广播 ..................................................................................................................... 64
代码 ..................................................................................................................... 67
它是如何工作的 ................................................................................................. 68
使用条件数组查询、过滤和广播检测异常值 .......................................................... 70
基础背景 ............................................................................................................. 70
代码 ..................................................................................................................... 71
它是如何工作的 ................................................................................................. 72
使用布尔索引过滤二维数组 ...................................................................................... 74
基础背景 ............................................................................................................. 74
代码 ..................................................................................................................... 75
它是如何工作的 ................................................................................................. 76
使用广播、切片赋值和重塑清洗固定步长的数组元素 .......................................... 77
基础背景 ............................................................................................................. 77
代码 ..................................................................................................................... 80
它是如何工作的 ................................................................................................. 81
NumPy 中何时使用 sort()函数,何时使用 argsort()函数 ........................................ 82
基础背景 ............................................................................................................. 82
代码 ..................................................................................................................... 85
它是如何工作的 ................................................................................................. 85
如何使用 lambda 函数和布尔索引来过滤数组 ........................................................ 87
基础背景 ............................................................................................................. 87
代码 ..................................................................................................................... 87
它是如何工作的 ................................................................................................. 88
如何使用统计、数学和逻辑来创建高级数组过滤器 .............................................. 89
基础背景 ............................................................................................................. 89
代码 ..................................................................................................................... 93
它是如何工作的 ................................................................................................. 94
简单的关联分析:买了 X 的人也买了 Y .............................................................. 94
基础背景 ............................................................................................................. 94
代码 ..................................................................................................................... 95
它是如何工作的 ................................................................................................. 96
使用中间关联分析寻找最佳捆绑策略 ...................................................................... 98
基础背景 ............................................................................................................. 98
代码 ..................................................................................................................... 98
它是怎么工作的 ................................................................................................. 99
总结 ........................................................................................................................... 100
4 机器学习 ........................................................................................................ 102
监督式机器学习的基础知识 .................................................................................... 102
训练阶段 ........................................................................................................... 103
推理阶段 ........................................................................................................... 104
线性回归 ................................................................................................................... 104
基础背景 ........................................................................................................... 104
代码 ................................................................................................................... 107
它是如何工作的 ............................................................................................... 108
逻辑回归的一行流 ................................................................................................... 110
基础背景 ........................................................................................................... 110
Sigmoid 函数 ................................................................................................... 111
代码 ................................................................................................................... 114
它是如何工作的 ............................................................................................... 114
K-Means 聚类算法一行流 ....................................................................................... 116
基础背景 ........................................................................................................... 116
代码 ................................................................................................................... 119
它是如何工作的 ............................................................................................... 120
K-近邻算法一行流 ................................................................................................... 122
基础背景 ........................................................................................................... 122
代码 ................................................................................................................... 124
它是如何工作的 ............................................................................................... 125
神经网络分析一行流 ............................................................................................... 127
XXII Python 一行流
基础背景 ........................................................................................................... 127
代码 ................................................................................................................... 132
它是如何工作的 ............................................................................................... 133
决策树学习一行流 ................................................................................................... 136
基础背景 ........................................................................................................... 136
代码 ................................................................................................................... 137
它是如何工作的 ............................................................................................... 138
一行流计算方差最小的数据行 ................................................................................ 139
基础背景 ........................................................................................................... 139
代码 ................................................................................................................... 140
它是如何工作的 ............................................................................................... 141
基本统计一行流 ....................................................................................................... 142
基础背景 ........................................................................................................... 143
代码 ................................................................................................................... 144
它是如何工作的 ............................................................................................... 145
支持向量机分类一行流............................................................................................ 146
基础背景 ........................................................................................................... 147
代码 ................................................................................................................... 148
它是如何工作的 ............................................................................................... 149
随机森林分类一行流 ............................................................................................... 150
基础背景 ........................................................................................................... 150
代码 ................................................................................................................... 152
它是如何工作的 ............................................................................................... 152
总结 ........................................................................................................................... 154
5 正则表达式 .................................................................................................... 155
在字符串中找到基本文本模式 ................................................................................ 155
基础背景 ........................................................................................................... 156
代码 ................................................................................................................... 159
它是如何工作的 ............................................................................................... 159
用正则表达式编写你的第一个网络爬虫 ................................................................ 160
基础背景 ........................................................................................................... 160
代码 ................................................................................................................... 162
它是如何工作的 ............................................................................................... 162
分析 HTML 文档中的超链接 .................................................................................. 163
基础背景 ........................................................................................................... 163
代码 ................................................................................................................... 165
它是如何工作的 ............................................................................................... 166
从字符串中提取美元金额 ........................................................................................ 167
基础背景 ........................................................................................................... 168
代码 ................................................................................................................... 169
它是如何工作的 ............................................................................................... 169
找出不安全的 HTTP URL ........................................................................................ 170
基础背景 ........................................................................................................... 170
代码 ................................................................................................................... 171
它是如何工作的 ............................................................................................... 171
验证用户输入的时间格式(第一部分) ................................................................ 172
基础背景 ........................................................................................................... 172
代码 ................................................................................................................... 173
它是如何工作的 ............................................................................................... 174
验证用户输入的时间格式(第二部分) ................................................................ 174
基础背景 ........................................................................................................... 175
代码 ................................................................................................................... 175
它是如何工作的 ............................................................................................... 176
字符串中的重复检测 ............................................................................................... 176
基础背景 ........................................................................................................... 176
代码 ................................................................................................................... 177
它是如何工作的 ............................................................................................... 178
检测重复单词 ........................................................................................................... 179
基础背景 ........................................................................................................... 179
代码 ................................................................................................................... 179
它是如何工作的 ............................................................................................... 180
用正则模式在多行字符串中进行修改 .................................................................... 181
基础背景 ........................................................................................................... 181
代码 ................................................................................................................... 181
它是如何工作的 ............................................................................................... 182
总结 ........................................................................................................................... 183
6 算法 ............................................................................................................... 184
用 lambda 函数及排序找出异形词 .......................................................................... 185
基础背景 ........................................................................................................... 185
代码 ................................................................................................................... 186
它是如何工作的 ............................................................................................... 187
用 lambda 函数和负索引切片找出回文 .................................................................. 188
基础背景 ........................................................................................................... 188
代码 ................................................................................................................... 189
它是如何工作的 ............................................................................................... 189
用递归阶乘函数计算排列数 .................................................................................... 189
基础背景 ........................................................................................................... 190
代码 ................................................................................................................... 192
它是如何工作的 ............................................................................................... 192
找到 Levenshtein 距离 .............................................................................................. 194
基础背景 ........................................................................................................... 194
代码 ................................................................................................................... 195
它是如何工作的 ............................................................................................... 195
通过函数式编程计算幂集 ........................................................................................ 198
基础背景 ........................................................................................................... 198
代码 ................................................................................................................... 200
它是如何工作的 ............................................................................................... 200
用高级索引和列表解析来实现恺撒密码的加密 .................................................... 201
基础背景 ........................................................................................................... 201
代码 ................................................................................................................... 202
它是如何工作的 ............................................................................................... 203
用 Eratosthenes 筛法找出素数 ................................................................................. 204
基础背景 ........................................................................................................... 204
代码 ................................................................................................................... 205
它是如何工作的 ............................................................................................... 206
用 reduce()函数计算 Fibonacci 数列 ........................................................................ 211
基础背景 ........................................................................................................... 211
代码 ................................................................................................................... 211
它是如何工作的 ............................................................................................... 212
一种递归的二分查找算法 ........................................................................................ 214
基础背景 ........................................................................................................... 214
代码 ................................................................................................................... 216
它是如何工作的 ............................................................................................... 216
递归快速排序算法 ................................................................................................... 217
基础背景 ........................................................................................................... 218
代码 ................................................................................................................... 219
它是如何工作的 ............................................................................................... 219
总结 ........................................................................................................................... 220
后记 .................................................................................................................... 221
· · · · · ·
作者简介
作者 | Christian Mayer
计算机科学博士,知名Python网站创始人和维护者。该网站非常活跃,订阅人数已经超过2万且仍在持续增长。他的网站不仅发展迅速,也帮助数以万计的学习者提升了编码技能和优化了在线业务。他同时也是Coffee Break Python系列自出版图书的作者。
译者 | 苏丹
网上id一般为su27,2009年毕业于北京师范大学数学系,主要从事后端编程,也曾从事前端与客户端开发工作。目前为豆瓣用户产品后端负责人,日常跟Python打交道较多。2016年翻译出版《深入理解Flask》一书。