《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 -----------------------------------------第十四章 ...
随机推荐
- http://my.oschina.net/u/1185331/blog/502350
http://my.oschina.net/u/1185331/blog/502350
- lintcode 中等题:Simplify Path 简化路径
题目 简化路径 给定一个文档(Unix-style)的完全路径,请进行路径简化. 样例 "/home/", => "/home" "/a/./b ...
- lintcode:Flip Bits 将整数A转换为B
题目: 将整数A转换为B 如果要将整数A转换为B,需要改变多少个bit位? 样例 如把31转换为14,需要改变2个bit位. ()10=()2 ()10=()2 挑战 你能想出几种方法? 解题: A- ...
- 银联接口(注意项&备忘)
1,参考文档“证书下载.导出及上传流程.docx” 按照文档上所述,依次进行,导出的证书备用,用于配置文件的项“const SDK_ENCRYPT_CERT_PATH” 2,使用tp框架 新建一个控制 ...
- 如何配置JAVA的环境变量、Tomcat环境变量
配置JAVA环境变量 1.右击[我的电脑]---[属性]-----[高级]---[环境变量],如图: 2.选择[新建系统变量]--弹出“新建系统变量”对话框,在“变量名”文本框输入“JAVA_HOME ...
- Android WIFI 操作
代码 package com.wifitest; import java.util.List; import android.content.Context; import android.net.w ...
- spring boot 1.4默认使用 hibernate validator
spring boot 1.4默认使用 hibernate validator 5.2.4 Final实现校验功能.hibernate validator 5.2.4 Final是JSR 349 Be ...
- OSI七层协议
- 沉浸式学 Git
沉浸式学 Git cover — contents — about 目录 设置 再谈设置 创建项目 检查状态 做更改 暂存更改 暂存与提交 提交更改 更改而非文件 历史 别名 获得旧版本 给版本打标签 ...
- hdu 4973 A simple simulation problem. (线段树)
题目链接 题意: 给定n长的序列 m个操作 序列默认为 1, 2, 3···n 操作1:D [l,r] 把[l,r]区间增长 :( 1,2,3,4 进行 D [1,3]变成 1,1,2,2,3,3,4 ...