python 小技巧
2014-04-11 16:31
281 查看
1 介绍
从我开始学习Python时我就决定维护一个经常使用的“窍门”列表。不论何时当我看到一段让我觉得“酷,这样也行!”的代码时(在一个例子中、在StackOverflow、在开源码软件中,等等),我会尝试它直到理解它,然后把它添加到列表中。这篇文章是清理过列表的一部分。如果你是一个有经验的Python程序员,尽管你可能已经知道一些,但你仍能发现一些你不知道的。如果你是一个正在学习Python的C、C++或Java程序员,或者刚开始学习编程,那么你会像我一样发现它们中的很多非常有用。
每个窍门或语言特性只能通过实例来验证,无需过多解释。虽然我已尽力使例子清晰,但它们中的一些仍会看起来有些复杂,这取决于你的熟悉程度。所以如果看过例子后还不清楚的话,标题能够提供足够的信息让你通过Google获取详细的内容。
列表按难度排序,常用的语言特征和技巧放在前面。
1.1 分拆
?
1.2 交换变量分拆
?
1.3 拓展分拆 (Python 3下适用)
?
1.4 负索引
?
1.5 列表切片 (a[start:end])
?
1.6 使用负索引的列表切片
?
1.7 带步进值的列表切片 (a[start:end:step])
?
1.8 负步进值得列表切片
?
1.9 列表切片赋值
?
1.10 命名切片 (slice(start, end, step))
?
1.11 zip打包解包列表和倍数
?
1.12 使用zip合并相邻的列表项
?
1.13 使用zip和iterators生成滑动窗口 (n -grams)
?
1.14 使用zip反转字典
?
1.15 摊平列表:
?
1.16 生成器表达式
?
1.17 迭代字典
?
1.18 通过迭代字典反转字典
?
1.19 命名序列 (collections.namedtuple)
?
1.20 命名列表的继承:
?
1.21 集合及集合操作
?
1.22 多重集及其操作 (collections.Counter)
?
1.23 迭代中最常见的元素 (collections.Counter)
?
1.24 双端队列 (collections.deque)
?
1.25 有最大长度的双端队列 (collections.deque)
?
1.26 字典排序 (collections.OrderedDict)
?
1.27 缺省字典 (collections.defaultdict)
?
1.28 用缺省字典表示简单的树
?
1.29 映射对象到唯一的序列数 (collections.defaultdict)
?
1.30 最大最小元素 (heapq.nlargest和heapq.nsmallest)
?
1.31 笛卡尔乘积 (itertools.product)
?
1.32 组合的组合和置换 (itertools.combinations 和 itertools.combinations_with_replacement)
?
1.33 排序 (itertools.permutations)
?
1.34 链接的迭代 (itertools.chain)
?
1.35 按给定值分组行 (itertools.groupby)
?
从我开始学习Python时我就决定维护一个经常使用的“窍门”列表。不论何时当我看到一段让我觉得“酷,这样也行!”的代码时(在一个例子中、在StackOverflow、在开源码软件中,等等),我会尝试它直到理解它,然后把它添加到列表中。这篇文章是清理过列表的一部分。如果你是一个有经验的Python程序员,尽管你可能已经知道一些,但你仍能发现一些你不知道的。如果你是一个正在学习Python的C、C++或Java程序员,或者刚开始学习编程,那么你会像我一样发现它们中的很多非常有用。
每个窍门或语言特性只能通过实例来验证,无需过多解释。虽然我已尽力使例子清晰,但它们中的一些仍会看起来有些复杂,这取决于你的熟悉程度。所以如果看过例子后还不清楚的话,标题能够提供足够的信息让你通过Google获取详细的内容。
列表按难度排序,常用的语言特征和技巧放在前面。
1.1 分拆
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
相关文章推荐
- Python编辑神器PyCharm跨文件智能提示
- python os模块总结
- python产生随机字符串
- python dir & vars
- python 虚拟环境
- ICTCLAS2014 NLPIR2014的Python接口配置文档
- 使用DocStrings为python函数添加注释
- unbutu 下 python 开发环境配置
- python类库
- python+django+MySQL
- Python 相对导入
- win7 如何将python加入环境变量
- Ubuntu12.04安装tinyos2.1.1完整版教程
- Python - 快速排序(quick sort) 及 去重(no duplicate)
- python交互模式下cp65001异常
- python打包成exe
- Python - 多变量的for循环 详解
- Python - 翻转(reverse)字符串(string)的所有方法 详解
- python中的os模块
- python 发送Email程序