《Python参考手册(第4版•修订版)》——1.10 迭代与循环
2023-09-11 14:17:33 时间
本节书摘来自异步社区《Python参考手册(第4版•修订版)》一书中的第1章,第1.10节,作者David M. Beazley,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.10 迭代与循环最常用的循环结构是for语句,它可以用来对容器成员进行迭代操作。迭代是Python中内涵最丰富的功能之一。但最常见的迭代形式是简单循环访问一个序列(如字符串、列表或元组)的所有成员,例如:
for n in [1,2,3,4,5,6,7,8,9]: print "2 to the %d power is %d" % (n, 2**n)
在这个例子中,每次迭代都会将列表[1,2,3,4,...,9]中的下一个值赋给变量n。因为在整数范围内执行循环十分常见,为此经常会使用下面的快捷方法:
for n in range(1,10): print "2 to the %d power is %d" % (n, 2**n)
range(i, j, [,步长])函数创建的对象表示值在i到j-1之间的整数范围。如果起始值i被省略,则认为是0。第三个参数是可选的步长值。例如:
a = range(5) # a = 0,1,2,3,4 b = range(1,8) # b = 1,2,3,4,5,6,7 c = range(0,14,3) # c = 0,3,6,9,12 d = range(8,1,-1) # d = 8,7,6,5,4,3,2
在使用range()函数时请注意,在Python 2中,它创建的值是已经用整数值完全填满的列表。当范围非常大时,这可能会在不经意间耗掉所有可用内存。因此,在老式的Python代码中,可能会看到程序员使用另一个函数xrange()。例如:
for i in xrange(100000000): # i = 0,1,2,...,99999999 statements
进行查找时,xrange()函数创建的对象会在收到查询请求时根据需要计算它所表示的值。因此,它成为了表示极大范围整数值的首选方式。在Python 3中,xrange()函数已经更名为range(),并且已删除了老式range()函数的功能。
for语句并不仅限于处理整数序列,还可用于迭代多种对象,包括字符串、列表、字典和文件,例如:
a = "Hello World" # 打印出a中的每个字符 for c in a: print c b = ["Dave","Mark","Ann","Phil"] # 打印出一个列表的成员 for name in b: print name c = { GOOG : 490.10, IBM : 91.50, AAPL : 123.15 } # 打印出一个字典的所有成员 for key in c: print key, c[key] # 打印一个文件中的所有行 f = open("foo.txt") for line in f: print line,
for循环是Python最强大的语言特性之一,因为你可以创建自定义的迭代器对象和生成器函数,为它提供值序列。本章稍后和第6章将会讲述有关迭代器和生成器的更多内容。
《Python参考手册(第4版•修订版)》——导读 本书是Python编程语言的一份简明参考。尽管有经验的程序员也可以通过本书学习Python语言,但本书并不是一本讲述如何编程的全面教程或专著。相反,本书的目标是准确而简练地介绍Python语言核心以及Python库中最关键的部分。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- 【Python成长之路】python 基础篇 -- 装饰器【华为云分享】
- 剑指Offer题解(Python版)
- python导入csv文件出现SyntaxError问题分析
- Python 日期和时间_python 当前日期时间_python日期格式化
- Python之pandas:对dataframe数据的时间日期格式类型字段进行标准化变换(比如将日期类型字段格式2014/1/1转换为2014-1-1)之详细攻略
- Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
- Python编程语言学习:for循环实现对多个不同的DataFrame数据执行相同操作(可用于对分开的测试集、训练集实现执行相同逻辑任务)
- Python编程语言学习:列表与字典互转的几大方法集锦、从列表中按顺序循环抽走一个元素输出剩余元素之详细攻略
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- Python每日一练——第30天:正则表达式练习
- 已解决2.Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and wi
- python for循环习题
- 关于Python中的错误与异常,你是否了解的够仔细?
- Python学习91:电子邮件
- python 时间模块小结
- Python里__all__变量的作用
- Python+selenium自动化元素定位防踩坑(建议收藏)
- Python小白的数学建模课-18.最小生成树问题
- Python可视化数据分析01、python环境搭建
- Python中pd.to_datetime、groupby、range(len())
- Python学习笔记三之编程练习:循环、迭代器与函数
- Python少儿编程入门篇(7)for 循环语句
- Python——程序中的循环(五)