《Python 学习手册4th》 第十四章 迭代器和解析
'''
时间: 9月5日 - 9月30日
要求:
1. 书本内容总结归纳,整理在博客园笔记上传
2. 完成所有课后习题
注:“#” 后加的是备注内容
(每天看42页内容,可以保证月底看完此书)
“重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题、习题题目- 加粗,16px
'''
重点笔记
一. 迭代器:初探
如果对象是实际保存的序列,或者可以砸迭代工具环境中一次产生一个结果的对象,就看作是可迭代的。
二. 列表探析:初探
列表解析会产生一个新的列表对象
三. 在文件上使用列表解析
文件对象有一个readlines方法,可以一次性地把文件载入到行字符串的一个列表中:
>>> f = open('c1.py')
>>> lines = f.readlines()
>>> lines
['class Fibs:\n', ' def __init__(self):\n', ' self.a = 0\n', ' self.b = 1\n', ' def next(self):\n', ' self.a,self.b = self.b,self.a + self.b\n', ' return self.a\n', ' def __iter__(self):\n', ' return self\n', ' \n', 'fibs = Fibs()\n', 'for f in fibs:\n', ' if f>1000:\n', ' print f\n', ' break\n']
本章习题:
1. for循环和迭代器之间有什么关系?
答:for循环会使用迭代协议来遍历迭代的对象中的每一个项。for循环会在每次迭代中使用该对象的__next__方法,而且会捕捉StopIteration异常,从而决定何时停止循环。支持这种模式的任何对象,都可以用于for循环以及其它迭代环境中
2.for循环和列表解析直接有什么关系?
答:两者都是迭代工具。列表解析是执行常见for循环任务的简明并高效的方法。
对可迭代对象内所有元素应用一个表达式,并收集其结果。你可以把列表解析转换成for循环,而列表解析表达式的一部分的语法看起来就是for循环的首行。
3.举出Python中的4种迭代环境
答:python中的迭代环境包括for循环、列表解析、map内置函数、in成员关系测试表达式以及内置函数sorted、sum、any和all。
4.如今从一个文本文件逐行读取行的最好的办法是什么?
答:让for循环在每轮自动调用next方法从而前进到下一行
《Python 学习手册4th》 第十四章 迭代器和解析的更多相关文章
- 《Python 学习手册4th》 第四章 介绍Python对象类型
''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容(每天看42页内容,可以保证月底看完此书) ''' ...
- 流畅python学习笔记:第十四章:迭代器和生成器
迭代器和生成器是python中的重要特性,本章作者花了很大的篇幅来介绍迭代器和生成器的用法. 首先来看一个单词序列的例子: import re re_word=re.compile(r'\w+') c ...
- 《Python 学习手册4th》 第十七章 作用域
''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...
- 《Python 学习手册4th》 第十三章 while和for循环
''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...
- 《Python 学习手册4th》 第七章 字符串
''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...
- 《Python 学习手册4th》 第六章 动态类型简介
''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书)“重点笔 ...
- 《Python 学习手册4th》 第十一章 赋值、表达式和打印
''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十四章:曲面细分阶段
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十四章:曲面细分阶段 代码工程地址: https://github. ...
- Python 3标准库 第十四章 应用构建模块
Python 3标准库 The Python3 Standard Library by Example -----------------------------------------第十四章 ...
随机推荐
- Happy Number
https://leetcode.com/problems/happy-number/ Write an algorithm to determine if a number is "hap ...
- 解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790 参考文章:http://blog.sina.com.cn/s/b ...
- linux设置和查看环境变量的方法
1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" ...
- Selenium--cssselector
CSS(即层叠样式表Cascading Stylesheet) Selector来定位(locate)页面上的元素(Elements).Selenium官网的Document里极力推荐使用CS ...
- Hadoop格式化HDFS报错java.net.UnknownHostException: localhost.localdomain: localhost.localdomain
异常描述: 在对HDFS格式化,执行hadoop namenode -format命令时,出现未知的主机名的问题,异常信息如下所示: [shirdrn@localhost bin]$ hadoop n ...
- Play Framework 发现并没有热启动的特殊情况
解决办法: 删掉 target目录下的两个文件夹: src_mananger 和 twirl -----或者删掉整个target文件夹. 因为play framework 运行的是 在target 文 ...
- lintcode: 翻转链表
题目: 翻转链表 翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 挑战 在原地一次翻转完成 解题: 递归还 ...
- Android学习及开发随记1:Android Studio安装配置
1.本系列仅为个人使用,概不负责.随着时间推移,部分内容可能因为软件更新而出现不能对应的情况. 本文的配置情况,仅针对Android Studio v1.1.0 windows版本 全新安装. Goo ...
- idea15 如何设置代码不自动折叠
IDEA默认情况下,如果方法体中只有一行,这个方法体会折叠起来,就像这种
- Xwindow的文章
http://blog.csdn.net/crond123/article/details/5733776 http://bbs.csdn.net/topics/90377015 http://bbs ...