for 循环

Python教程中for...in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),意即它会遍历序列中的每一个项目。我们将在后面的Python序列(Sequences)章节中了解有关它的更多内容。现在你所需要的就是所谓队列就是一系列项目的有序集合。

案例(保存为 for.py):

for i in range(1, 5):
print(i)
else:
print('The for loop is over')

输出:

$ python for.py
1
2
3
4
The for loop is over

它是如何工作的

在这一程序中,我们打印了一个数字序列。我们通过内置的 range 函数生成这一数字序列。有哪些Python内置函数

在这里我们所要做的事情是提供两个数字,而 range 将会返回一个数字序列,从第一个数字开始,至第二个数字结束。举个例子,range(1,5) 将输出序列 [1, 2, 3, 4]。在默认情况下,range 将会以 1 逐步递增。如果我们向 range 提供第三个数字,则这个数字将成为逐步递增的加数。同样举个例子来说明,range(1,5,2) 将会输出 [1, 3]。要记住这一序列扩展直到第二个数字,也就是说,它不会包括第二个数字在内。

另外需要注意的是,range() 每次只会生成一个数字,如果你希望获得完整的数字列表,要在使用 range() 时调用 list()。例如下面这样:list(range(5)) ,它将会返回 [0, 1, 2, 3, 4]。有关列表的详细解释将会在 《数据结构》一章呈现。

然后 for 循环就会在这一范围内展开递归——for i in range(1,5) 等价于 for i in [1, 2, 3, 4],这个操作将依次将队列里的每个数字(或是对象)分配给 i,一次一个,然后以每个 i 的值执行语句块。在本例中,我们这一语句块所做的就是打印出这些值。

+

同样要记住,else 部分是可选的。当循环中包含他时,它总会在python for 循环结束后开始执行,除非程序遇到了 break 语句。

另一个需要注意的地方是 for...in 能在任何队列中工作。在这里,我们有的是通过内置的 range 函数生成的一串数字列表,但总体来说我们可以包含任何类型对象的队列!我们将会在后面的章节详细解释这一观念。

针对 C/C++/Java/C# 程序员的提示

Python 中的 for 循环和 C/C++ 中的 for 循环可以说是完全不同。C# 程序员会注意到 Python 中的 for 循环与 C# 中的 foreach 循环相似。Java 程序员则会注意到它同样与 Java 1.5 中的 for (int i : IntArray) 无甚区别。

在 C/C++ 中,如果你希望编写 for (int i = 0; i < 5; i++),那么在 Python 你只需要写下 for i in range(0,5)。正如你所看到的,Python 中的 for 循环将更加简单,更具表现力且更不容易出错。

了解Python控制流语句——for 循环的更多相关文章

  1. 9、python判断语句与循环语句

    前言:本文主要介绍python判断语句与循环语句,包括if语句.while循环.for循环.range函数. 一.if语句  关键字:if.elif.else,写法如下: # if if 条件: # ...

  2. 了解Python控制流语句——continue 语句

    continue 语句用以告诉 Python 跳过当前循环块中的剩余语句,并继续该循环的下一次迭代. 案例(保存为 continue.py): while True: s = input('Enter ...

  3. 了解Python控制流语句——break 语句

    这篇文章主要介绍了详解Python中break语句的用法,是Python入门的呼出知识,需要的朋友可以参考下,python基础系列教程之-Python break语句 跳出循环 break 语句用以中 ...

  4. 了解Python控制流语句——while 语句

    while 语句 Python 中 while 语句能够让你在条件为真的前提下重复执行某块语句. while 语句是 循环(Looping) 语句的一种.while 语句同样可以拥有 else 子句作 ...

  5. 了解Python控制流语句——if语句

    控制流 截止到现在,在我们所看过的程序中,总是有一系列语句从上到下精确排列,并交由 Python 忠实地执行.如果你想改变这一工作流程,应该怎么做?就像这样的情况:你需要程序作出一些决定,并依据不同的 ...

  6. Python——条件语句及其循环

    条件语句及其循环 一. 条件语句 在条件语句中可以使用以下所有的运算符: 算术运算符:+.-.*././/.%.** 关系运算符:>.<.==.<=.>=.!= 测试运算符:i ...

  7. Python控制流语句(if,while,for)

    if.py number=23 guess=int(input("enter an int:")) if guess==number: print ("congratul ...

  8. Python基本语法_控制流语句_if/while/for

    目录 目录 前言 软件环境 If 语句 While循环 break continue for 循环 遍历String 遍历Tuple 遍历List 遍历Dictionary 最后 前言 控制流语句用于 ...

  9. swift 简单语句 控制流语句

    在 Swift 中.有两种类型的语句:简单语句和控制流语句.简单语句是最常见的.用于构造表达式和声明.控制流语句则用于控制程序运行的流程,Swift 中有三种类型的控制流语句:循环语句.分支语句和控制 ...

随机推荐

  1. C# 面向对象之多态

    //多态:让一个对象表现的多种状态 //实现:子类重写父类的虚方法 Person person = new Person(); Chinese chinese = new Chinese(); Ame ...

  2. EF Core 2.1 中的 Eager loading、Explicit loading和LazyLoading (转自MSDN)

    Entity Framework Core allows you to use the navigation properties in your model to load related enti ...

  3. position定位笔记

    position定位 position一共有四个可选属性:static/relative/absolute/fixed 代码: <style type="text/css"& ...

  4. Oracle以固定字符截取字符串

    CREATE OR REPLACE FUNCTION "F_SPLIT" (p_str IN CLOB, p_delimiter IN VARCHAR2) RETURN ty_st ...

  5. iOS之创建通知、发送通知和移除通知的坑

    1.创建通知,最好在viewDidLoad的方法中创建 - (void)viewDidLoad { [super viewDidLoad]; //创建通知 [[NSNotificationCenter ...

  6. 技巧:Vimdiff 使用(改)

    技巧:Vimdiff 使用(改) 各种 IDE 大行其道的同时,传统的命令行工具以其短小精悍,随手可得的特点仍有很大的生存空间,这篇短文介绍了一个文本比较和合并的小工具:vimdiff.希望能对在 U ...

  7. Mysql基于Linux上的安装

    MySQL 在Linux/Unix安装 所有平台的 MySQL 下载地址为: MySQL 下载 . 挑选需要的 MySQL Community Server 版本及对应的平台. 注意:安装过程需要通过 ...

  8. Asp.Net Core使用Log4Net优化日志【项目开源】

    我在前一篇文章中介绍了一种使用Log4Net的方法,但是那种方法打出来的日志不是很直观 然后我前不久阅读了一篇非常不错的博客:https://www.cnblogs.com/guolianyu/p/9 ...

  9. Elasticsearch 映射操作

    一.创建 语法: PUT /索引库名称/_mapping/类型名称 { "properties": { "字段名": { "type": 类 ...

  10. 20190112-自定义实现字符串的操作方法,如strip,upper,title,ljust,center,zfill,find,rfind等

    1:自定义实现strip()Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列算法:strip()仅移除首尾的指定字符,不能移除中间的先从首部开始移除 de ...