大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第33篇文章,第二阶段的课程:Python基础知识:Python中的控制语句之for遍历。

学习本课程,建议先看一遍:【计算机基础知识】课程。

一、用for能做的事,while也可以做到

理论上for能做的事情,用while循环都能做到;为什么我们还会需要用到for语句?因为与while循环相比较,for在循环会取值上更容易实现;特殊是对一些可迭代对象的取值,for循环使用起来更简单;可以通过下面的一个例子说明,在循环取值时,for循环比while循环用起来更简便,如图所示:

二、for遍历的语法介绍

1、for遍历的基础语法样式:

For x in可迭代对象/迭代器:

执行代码块

……

Else:

执行代码

……

2、执行流程

当Python解释器到遇for这个关键字时,判断for后面的是不是迭代器或可迭代对象;如果不是迭代器或可迭代对象,报错返回;

如果是迭代器或可迭代对象,判断迭代器是否有值,如果没有,跳出fro循环,如果有,会执行for语句中的代码块的内容,输出结果;

重复步骤1和步骤2,直到迭代器中的值被取完,for会跳出循环。

注:整数(int)和浮点数(float)都不是可迭代对象,即整数和浮点数都不能被for遍历。

三、For遍历与一些关键字

1、for与continue

与while循环中一样,当在for中遇到了continue关键字,会跳过单次循环不执行,进入下一下次循环中;

2、For与break

与while循环中一样,当在for中遇到的break关键字,会立刻结束本层循环;

注意,是结束本层循环,而不是结束一次循环;如果在一个for循环内再嵌套了一个for循环,那么break结束的是离它最近的for循环;

简单说:嵌套了三层for循环的循环,就需要3个break关键字来结束这三层循环,每个break关键字只能结束一层循环。

3、For与else

与while循环一样,for循环在执行过程中没有触发过break关键字,才会执行else关键字后面的语句;

也就是说:for循环是正常结束的时候,else关键字后面的语句才会被执行;

4、for与range生成器

range也是Python中的关键字,range是Python内置的一个方法,它的作用是按照使用者的要求生成一系列数据;

使用语法如下:

Range(start,stop,step=1)

这里的start与stop是数据的开始值和结束值,step表示步长,默认是1,步长用来表示第1个值与第2值之间相差多少;

值注意的是,在Python2中和Python3中,range的功能都是一样的;但在Python2中,我们使用range时,会预先生成我们需要的所有数据,然后再让我们调用;如果我们生成的数据有100亿个,就很容易发生内存溢出问题,这是一个小bug。

而在Python3中,我们使用range时,会预先生成一个生成器,它不会生成我们所需要的所有数据,只有当我们需要用到range中的数据时,用到1个,生成器就生成一个;这种方式会非常节省空间。

最后:

如果是字典,For循环取值时,默认取的是字典中的键(key),而不是值(value)。

以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。

感谢您的阅读,您的关注点赞就是对我最大的支持,谢谢!

本文由杨数Tos原创,欢迎关注,带你一起长知识。

可以结束一个循环的关键字是python_第33 p,for遍历,循环取值最方便相关推荐

  1. 编写Java程序,从键盘输入一个正整数n(n≥2),随机生成一个n阶方阵,每个元素均为整数,其取值范围为[100,999]。然后输出该方阵元素中的最大值和最小值。

    编写Java程序,从键盘输入一个正整数n(n≥2),随机生成一个n阶方阵,每个元素均为整数,其取值范围为[100,999].然后输出该方阵元素中的最大值和最小值. ```java package Ja ...

  2. php json 循环输出html,我要用js从json文件中取值,并输出的html页面,有个问题

    json文件有多个 0.json 1.json 2.json 3.json ... 现在的情况是js可以挨个读取json文件中的内容,但是每次读取新文件的时候之前的文件内容就没了,我想要加载新json ...

  3. vue动态请求到的多重数组循环遍历,取值问题,如果某个值存在则显示,不存在则不显示。...

    数据结构: 需求:我在vue页面需要拿到url值并显示图片 代码写法: 注意:一定要判断否则拿到的large对象一直是空值, 那么img.large.url将会取不到值,会报 url  'undefi ...

  4. 可以结束一个循环的关键字是python_Python中的循环关键字

    循环关键字 1. continue continue是循环体中的关键字,只能出现在循环中. 如果在执行循环的过程中遇到了continue,当次循环结束,直接进入下次循环的判断 for x in ran ...

  5. python中循环结构关键字,04.循环结构

    ## 循环结构 ### 应用场景 如果在程序中我们需要重复的执行某条或某些指令,例如用程序控制机器人踢足球,如果机器人持球而且还没有进入射门范围,那么我们就要一直发出让机器人向球门方向奔跑的指令.当然 ...

  6. python-双向循环_关键字pass_break_continue_for循环

    1.if 判断 和 while 循环 练习 1.提示户输入马化腾. 判断用户输入的对不对. 如果对, 提示真聪明, 如果不对, 提醒该充值了 name = input("谁是中国人民当中最能 ...

  7. python中循环结构关键字_Python的循环结构,也简单!

    Python语言的循环结构包括两种:遍历循环和无限循环.其中遍历循环由for保留字建立,用来一次访问元素组中的每一个元素:无限循环由while保留字建立,依据是否满足特定条件决定是否结束循环. 1.遍 ...

  8. 剑指offer:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。

    汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S="abc ...

  9. 如何计算给定一个unigram语言模型_CS224n笔记[5]:语言模型(LM)和循环神经网络(RNNs)...

    CS224n笔记[5]:语言模型(LM)和循环神经网络(RNNs) 作者:郭必扬 许久没更新了,十分惭愧,翻了翻之前的笔记,才之前上一期我们讲的是"依存分析".本期,我们介绍一下语 ...

最新文章

  1. c/c++中typedef与函数指针
  2. 静态static关键字概述
  3. bzoj 2763 [JLOI2011]飞行路线——分层图
  4. Win8 HTML5与JS编程学习笔记(二)
  5. 二叉树前序中序后续线索树_二叉树的先序,中序,后序遍历以及线索二叉树的遍历...
  6. MockPlus原型设计介绍
  7. 365赚钱养猫小程序
  8. 高仿蓝奏云单页下载页面源码
  9. 脚本(js)控制页面输入
  10. 4种方法帮你解决IntelliJ IDEA控制台中文乱码问题
  11. hadoop native安装
  12. STL : List使用时应注意的问题
  13. python获取session里的_python 怎么取sessionid-问答-阿里云开发者社区-阿里云
  14. Hive中Join的 MR 底层原理
  15. BeautifulSoup实现博文简介与过滤恶意标签(xxs攻击)
  16. LCD液晶屏驱动芯片分类百科
  17. 如何使用Arduino 舵机SG90
  18. ES6新特性-前端面试问题
  19. 外贸七日通 第六日 合作篇 与货代打交道
  20. Vue基础入门(2) Vue.js下载与安装

热门文章

  1. SGU 187 - Twist and whirl -- want to cheat
  2. 使IE6下PNG背景图片透明的七种方法
  3. linux的基础知识——会话
  4. 【剑指offer】面试题52:两个链表的第一个公共节点(java)
  5. oracle clob截取_Oracle数据库设计规范建议
  6. mysql like 多个条件_千万级MySQL数据库这样建索引可以让你的数据库飞起来.........
  7. 计算机插件技术应用原理,计算机软件技术中插件技术的运用
  8. linux交叉编译aix_mips-linux-gcc交叉编译工具链搭建小结【转】
  9. char怎么比较_为什么阿里巴巴Java开发手册中强制要求整型包装类对象值用 equals 方法比较?...
  10. PyMC3和Lasagne构建神经网络(ANN)和卷积神经网络(CNN)