美文网首页
第十三章、while和for循环

第十三章、while和for循环

作者: 聽風踏雪 | 来源:发表于2017-05-30 11:54 被阅读0次

while语句,提供了编写通用循环的一种方法;for语句,用它来遍历序列对象内的元素,并对每个元素运行一个代码块。

while循环

while语句是Python语言中最通用的迭代结构。简而言之,只要顶端测试一直计算到真值,就会重复执行一个语句块(通常有缩进)。

1、一般格式:

while语句最完整的输出格式是:首行以及测试表达式、有一列或多列缩进语句的主体以及一个可选的else部分(控制权离开循环而又没有碰到break语句时会执行)。

2、例子:

3、break、continue、pass和循环else:

break:跳出最近所在的循环(跳过整个循环语句)。

continue:跳到最近所在循环的开头处(来到循环的首行)。

pass:什么事也不做,只是空占位语句。

循环else块:只有当循环正常离开时才会执行(也就是没有碰到break语句)。

4、一般循环格式:

break和continue可以出现在while(或for)循环主体的任何地方,但通常会进一步嵌套在if语句中,根据某些条件来采取对应的操作。

①、pass:

pass语句是无运算的占位语句,当语法需要语句并且还没有任何实用的语句可写时,可以使用它。

②、continue:

continue语句会立即跳到循环的顶端。

③、break:

break语句会立刻离开循环。

④、循环else:

和循环else子句结合时,break语句通常可以忽略其他语言中所需的搜索状态标志位。

⑤、关于循环else分句的更多内容:

简而言之,循环else分句提供了常见的编写代码的明确语法:这是编写代码的结构,让你捕捉循环的“另一条”出路,而不是通过设定和检查标志位或条件。

for循环

for循环在Python中是一个通用的序列迭代器:可以遍历任何有序的序列对象内的元素。

1、一般格式:

Python for循环的首行定义了一个赋值目标(或一些目标),以及你想遍历的对象。首行后面是你想重复的语句块(一般都有缩进)。

2、例子:

①、基本应用:

for循环可以遍历任何一种序列对象。

②、其他数据类型:

任何序列都适用for循环,因它是通用的工具。

③、在for循环中的元组赋值:

如果迭代元组序列,循环目标本身实际上可以是目标元组。

④、Python3.0在for循环中扩展的序列赋值:

由于for循环中的循环变量真的可以是任何赋值目标,在这里,我们也可以使用Python3.0的扩展序列解包赋值语法,来提取序列中的序列的元素和部分。

⑤、嵌套for循环:

编写循环的技巧

for循环包括多数计数器的循环。

Python提供了两个内置函数,在for循环内定制迭代:

①、内置range函数返回一系列连续增加的整数,可以作为for中的索引。

②、内置zip函数返回并行元素的元组的列表,可用于在for循环内遍历数个序列。

1、循环计数器:while和range:

range函数是通用的工具,可用在各种环境下。一个参数时,range会产生从零算起的整数列表,但其中不包括该参数的值。如果传进两个参数,第一个将视为下边界。第三个选用参数可以提供步进值。

2、非完备遍历:range和分片:

使用range唯一的真正优点是——它没有复制字符串,并且不会在Python3.0中创建一个列表,对于很大的字符串来说,这会节省内存。

3、修改列表:range:

可以使用range和for的组合的常见场合就是在循环中遍历列表时并对其进行修改。

4、并行遍历:zip和map:

内置的zip函数让我们使用for循环来并行使用多个序列。

①、Python2.6中的map等价形式:

在Python2.X中,相关(较旧)的内置map函数,用类似方式把序列的元素配对起来,但是如果参数长度不同,则会为较短的序列用None补齐(而不是按照最短的长度截断)。Python3.0不再支持该函数。

②、使用zip构造字典:

将列表变成字典的一种做法就是将这些字符串zip起来,并通过for循环并行步进处理。在Python2.2和后续版本中,你可以完全跳过for循环,直接把zip过的键和值列表传给内置的dict构造函数。

5、产生偏移和元素:enumerate:

enumerate函数返回一个生成器对象:这中对象支持下一章将要学习的迭代协议,本书下一部分会再深入讨论迭代协议。简而言之,这个对象有一个__next__方法,由下一个内置函数调用它,并且循环中每次迭代的时候它会返回一个(index,value)的元组。

本章小结

在本章中,我们探索了Python的循环语句以及一些和Python循环有关的概念。我们深入讨论while和for循环语句,学习其相关的else分句。我们也研究过break和continue语句,而它们只在循环中才有意义,并且介绍了几个再for循环中常用的内置工具,包括range、zip、map和enumerate(尽管它们在Python3.0中的角色是迭代器,并且下一章才会正式介绍迭代器的概念)。


相关文章

  • 第十三章、while和for循环

    while语句,提供了编写通用循环的一种方法;for语句,用它来遍历序列对象内的元素,并对每个元素运行一个代码块。...

  • JavaScript-循环语句

    循环语句有两种 for 和 while 。 while 循环 for 循环 do...while 循环 这个循环和...

  • 四、Kotlin学习之while&for&区间&try

    一、while循环 Kotlin的while循环和java基本一样,有do-while循环和while循环 执行结...

  • 循环语法

    1、for循环 2、while循环 和 do while循环

  • 流程控制之循环

    循环 了解循环 while语法【重点】 while应用 break和continue while循环嵌套【重点】 ...

  • while和do while循环语句

    while 循环和 do…while 循环的相同处是:都是循环结构,使用 while(循环条件) 表示循环条件,使...

  • 2018-08-01

    lua中的循环结构 loop 两种方式, while循环和 for循环while循环 -- while [con...

  • Kotlin之迭代事物

    while循环 Kotlin有while循环和do-while循环,它们的语法和Java中的循环没什么区别: 迭代...

  • 07包、模块、函数与变量作用域

    7-1 while循环与使用场景循环、循环语句主要看看两个循环 while和for 先看while while不...

  • 我的python学习笔记-第十天

    循环语句 Python中的循环语句有 for 和 while。 while 循环 Python中while语句的一...

网友评论

      本文标题:第十三章、while和for循环

      本文链接:https://www.haomeiwen.com/subject/tvsxfxtx.html