加载中
《Python Cookbook 3rd》笔记(5.3):使用其他分隔符或行终止符打印

使用其他分隔符或行终止符打印 问题 你想使用 print() 函数输出数据,但是想改变默认的分隔符或者行尾符。 解法 可以使用在 print() 函数中使用 sep 和 end 关键字参数,以你想要的方式输出。...

2020/11/30 00:29
69
《Python Cookbook 3rd》笔记(5.2):打印输出至文件中

打印输出至文件中 问题 你想将 print() 函数的输出重定向到一个文件中去。 解法 在 print() 函数中指定 file 关键字参数,像下面这样: with open('d:/work/test.txt', 'wt') as f: print('H...

2020/11/30 00:28
85
《Python Cookbook 3rd》笔记(5.1):读写文本数据

读写文本数据 问题 你需要读写各种不同编码的文本数据,比如 ASCII,UTF-8 或 UTF-16 编码等。 解法 使用带有 rt 模式的 open() 函数读取文本文件(t表示text文本模式,默认模式,这可以省略...

2020/11/30 00:27
34
《Python Cookbook 3rd》笔记(4.16):迭代器代替 while 无限循环

迭代器代替 while 无限循环 问题 你在代码中使用 while 循环来迭代处理数据,因为它需要调用某个函数或者和一般迭代模式不同的测试条件。能不能用迭代器来重写这个循环呢? 解法 一个常见的 ...

2020/11/29 00:02
61
《Python Cookbook 3rd》笔记(4.15):顺序迭代合并后的排序迭代对象

顺序迭代合并后的排序迭代对象 问题 你有一系列排序序列,想将它们合并后得到一个排序序列并在上面迭代遍历。 解法 heapq.merge() 函数可以帮你解决这个问题。比如: >>> import heapq >>> a...

2020/11/29 00:02
59
《Python Cookbook 3rd》笔记(4.14):展开嵌套的序列

展开嵌套的序列 问题 你想将一个多层嵌套的序列展开成一个单层列表 解法 可以写一个包含 yield from 语句的递归生成器来轻松解决这个问题。比如: from collections import Iterable def fla...

2020/11/29 00:01
83
《Python Cookbook 3rd》笔记(4.12):不同集合上元素的迭代

不同集合上元素的迭代 问题 你想在多个对象执行相同的操作,但是这些对象在不同的容器中,你希望代码在不失可读性的情况下避免写重复的循环。 解法 itertools.chain() 方法可以用来简化这个任...

2020/11/28 00:39
40
《Python Cookbook 3rd》笔记(4.11):同时迭代多个序列

同时迭代多个序列 问题 你想同时迭代多个序列,每次分别从一个序列中取一个元素。 解法 为了同时迭代多个序列,使用 zip() 函数。比如: >>> xpts = [1, 5, 4, 2, 10, 7] >>> ypts = [101, ...

2020/11/28 00:38
49
《Python Cookbook 3rd》笔记(4.10):序列上索引值迭代

序列上索引值迭代 问题 你想在迭代一个序列的同时跟踪正在被处理的元素索引。 解法 内置的 enumerate() 函数可以很好的解决这个问题: >>> my_list = ['a', 'b', 'c'] >>> for idx, val in ...

2020/11/27 00:10
75
《Python Cookbook 3rd》笔记(4.8):跳过可迭代对象的开始部分

跳过可迭代对象的开始部分 问题 你想遍历一个可迭代对象,但是它开始的某些元素你并不感兴趣,想跳过它们。 解法 itertools 模块中有一些函数可以完成这个任务。首先介绍的是itertools.dropw...

2020/11/27 00:04
83
《Python Cookbook 3rd》笔记(4.7):迭代器切片

迭代器切片 问题 你想得到一个由迭代器生成的切片对象,但是标准切片操作并不能做到。 解法 函数 itertools.islice() 正好适用于在迭代器和生成器上做切片操作。比如: >>> def count(n): .....

2020/11/25 17:13
53
《Python Cookbook 3rd》笔记(4.6):带有外部状态的生成器函数

带有外部状态的生成器函数 问题 你想定义一个生成器函数,但是它会调用某个你想暴露给用户使用的外部状态值。 解法 如果你想让你的生成器暴露外部状态给用户,别忘了你可以简单的将它实现为一...

2020/11/25 17:04
34
《Python Cookbook 3rd》笔记(4.5):反向迭代

反向迭代 问题 你想反方向迭代一个序列 解法 使用内置的 reversed() 函数,比如: >>> a = [1, 2, 3, 4] >>> for x in reversed(a): ... print(x) ... 4 3 2 1 反向迭代仅仅当对象的大小可预...

2020/11/25 17:03
24
《Python Cookbook 3rd》笔记(4.4):实现迭代器协议

实现迭代器协议 问题 你想构建一个能支持迭代操作的自定义对象,并希望找到一个能实现迭代协议的简单方法。 解法 目前为止,在一个对象上实现迭代最简单的方式是使用一个生成器函数。在 4.2 ...

2020/11/24 11:35
46
《Python Cookbook 3rd》笔记(4.3):使用生成器创建新的迭代模式

使用生成器创建新的迭代模式 问题 你想实现一个自定义迭代模式,跟普通的内置函数比如 range() , reversed() 不一样。 解法 如果你想实现一种新的迭代模式,使用一个生成器函数来定义它。下面...

2020/11/24 11:34
72
《Python Cookbook 3rd》笔记(4.2):代理迭代

代理迭代 问题 你构建了一个自定义容器对象,里面包含有列表、元组或其他可迭代对象。你想直接在你的这个新容器对象上执行迭代操作。 解法 实际上你只需要定义一个 iter () 方法,将迭代操作...

2020/11/23 09:38
106
《Python Cookbook 3rd》笔记(4.1):手动遍历迭代器

手动遍历迭代器 问题 你想遍历一个可迭代对象中的所有元素,但是却不想使用 for 循环。 解法 为了手动的遍历可迭代对象,使用 next() 函数并在代码中捕获 StopIteration 异常。比如,下面的例...

2020/11/23 09:37
34

没有更多内容

加载失败,请刷新页面

返回顶部
顶部