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

大家好,我是杨数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原创,欢迎关注,带你一起长知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在每个运行中运行多个查询_Spring Data JPA的运行原理及几种查询方式

Spring Data JPA的运行原理:PersistenceContext(name"entityManagerFactory") private EntityManager em; Test public void test1(){ //org.springframework.data.jpa.repository.support.SimpleJpaRepositor yfba8bf //System.out.println(this.u…

467python教程_Magnus Lie Hetland的《Python基础教程(第3版)》自学笔记(持续更新中)...

转载请注明原创出处,谢谢!如果读完觉得有收获的话,欢迎点赞加关注。Python基础教程.jpg快速上手:基础知识交互式解释器在Python交互式解释器的提示符>>>后面输入help()可以获取指南,在IDLE中,还可…

java 获取所有带指定注解的类名_SXT DAY023 反射和注解

1. 反射机制介绍_Class对象获取反射机制是 Java 的动态性之一 动态语言:在程序运行时,可以改变程序的结构或变量的 类型。反射机制的常见作用动态的加载类、动态的获取类的信息(属性,方法,构造 器) 动态构造对象 动态调用类和对象的任意方法、…

tomcat勾连mysql_tomcat9.0启动脚本startup.bat的分析

1、 Apache Tomcat的下载和安装从Apache官网https://tomcat.apache.org/可以下载各种版本的tomcat软件,下载的文件格式可以是zip/tar.gz/exe形式的。如下图所示,在64位windows中使用tomcat,我们可以下载"64-bit Windows.zip",直接解…

安卓能硬改的手机机型_【每日新闻】小米11部分镜头参数爆料;华为重新采购手机零部件 重启4G手机生产...

数据铸造影响力关注每日行业热点资讯,掌握业界动态趋势,以下是今天的精彩内容:1、小米11部分镜头参数爆料:超大底50MP主摄,长焦达12MP或48MP2、华为重新采购手机零部件 重启4G手机生产1、小米11部分镜头参数爆料&#…

kafka集群为什么需要三个节点_大白话带你认识 Kafka

前言应大部分的小伙伴的要求,在Yarn之前先来一个kafka的小插曲,轻松愉快。一、Kafka基础消息系统的作用应该大部份小伙伴都清楚,用机油装箱举个例子所以消息系统就是如上图我们所说的仓库,能在中间过程作为缓存,并且实…

mysql对日期的操作_MySql对日期的操作

1、计算俩个日期之间所差的天数select datediff(2018-09-18,2018-09-01)2、计算日期是这周的星期几select dayofweek(2018-09-18)1.因为外国一般都是把星期天认为是一周的开始,所以用这种方法一般都得减去一天才是这周的星期几select date_format(2018-09-17,"…

sql移动加权计算利润_计算机视觉中的半监督学习

作者:Amit Chaudhary编译:ronghuaiyang导读图解半监督的各种方法的关键思想。计算机视觉的半监督学习方法在过去几年得到了快速发展。目前最先进的方法是在结构和损失函数方面对之前的工作进行了简化,以及引入了通过混合不同方案的混合方法。…

.net 启动mysql数据库连接_[ASP.net教程]mysql数据库连接方式(.net)

[ASP.net教程]mysql数据库连接方式(.net)0 2014-07-17 18:01:001.通过ado.net连接(数据库连接串中为中文貌似无法使用)需要添加MySql.Data.dll(可通过安装mysql-connector-net-6.8.3.mis获得)引用MySql.Data.dll调用方式string connectionString “serverlocalhost;port3306;da…

overflowhidden把内容遮住了怎么办_图片有水印怎么办?不用PS,有这4招就够了!...

图片是我们在做 PPT 时经常会使用到的高频元素。往往会在搜索引擎中搜到很多带有水印的图片,怎么办呢?固然 PS 等软件去水印很给力,但是对于连 PPT 都还没有用得很熟悉的同学,让他们再去下载安装 Photoshop 软件,仅仅只…

mysql开窗函数over_oracle分析函数技术详解(配上开窗函数over())

一、Oracle分析函数入门 分析函数是什么? 分析函数是Oracle专门用于 解决复杂报表统计需求 的功能强大的函数, 它可以在数据中进行分组然后计算基于组的某种统计 ,并且每一组的每一行都可以返回一个统计。 分析函数和聚合函数的不同之处是什么…

传递给系统调用的数据区域太小怎么解决_一口气说出“分布式追踪系统”原理!...

“ 在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成。图片来自 Pexels这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用了哪些应用&#xf…

combinations java_[LeetCode][Java] Combinations

题目:Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.For example, If n 4 and k 2, a solution is:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]题意:给定两个整数 n 和 k,返回1 ...n中k个数字的所有的组合。…

java将对象 缓存_ehcache java 对象缓存怎么实现

展开全部1.技术背景:系统缓存是32313133353236313431303231363533e4b893e5b19e31333337396236位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为减少应用程序对物理数据源访问的次数,从而提高应用程序的运行…

语义分割和实例分割_一文读懂语义分割与实例分割

以人工智能为导向的现代计算机视觉技术,在过去的十年中发生了巨大的变化。今天,它被广泛用于图像分类、人脸识别、物体检测、视频分析以及机器人及自动驾驶汽车中的图像处理等领域。图像分割技术是目前预测图像领域最热门的一项技术,原因在于…

游戏自审自查报告_开发的射箭小游戏上线了,分享一下我在开发过程中遇到的问题...

利用业余时间开发的微信小游戏-射箭救人质上线了,主要玩法就是操作弓箭射断绳子把人救下来就可以了。图片资源是我找一个朋友做的。开发过程不算太顺利。磕磕绊绊做了12关。希望大家支持下。谢谢。分享一下我在开发中遇到的问题和部分解决方案、希望对大家有所帮助。…

java float 存储方式_java-解析以字符串形式存储的float会抛出异...

在相关的源代码中可以看到,该值将被修剪:static FloatingDecimal.ASCIIToBinaryConverter readJavaFormatString(String arg) throws NumberFormatException {boolean arg0 false;boolean arg1 false;try {arg arg.trim();....因此,在转换为floatValue之前将删除…

java 抛出异常的目的_Java实验八,异常

一.实验目的1. 掌握自定义异常类的编写;2. 掌握使用try-catch语句来处理异常。二.实验内容及要求车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品:1. 编写一个Exception的子类DangerException,该子类可以…

pythongui显示图片_opencv2.4.13+python2.7学习笔记--opencv中的Gui特性--图片:读图像,显示图像,保存图像...

#-*- coding: utf-8 -*-"""Created on Tue Mar 14 19:39:11 2017author: Thinkpad"""2.opencv中的Gui特性2.1图片:读图像,显示图像,保存图像读图像cv2.imread(a,b)a:图像所在的路径b:如何读取图片cv2.IMREAD_C…

postmapping注解_Swagger常用注解

在使用swagger时候如果掌握一些注解的使用,则在开发过程中测试的时候可以事半功倍,尤其在与前端技术进行联调,前端技术在访问swagger中的每个api时,可以很清楚的知道每个url对应的请求类型、参数类型、参数是否非必输、参数个数等…