python进阶项目设计_Python进阶循环设计

之前在“循环”一节,我们已经讨论了Python最基本的循环语法。这一节,我们将接触更加灵活的循环方式。

1. 利用range(), 得到下标

在Python中,for循环后的in跟随一个序列的话,循环每次使用的序列元素,而不是序列的下标。

之前我们已经使用过range来控制for循环。现在,我们继续开发range的功能,以实现下标对循环的控制:

48304ba5e6f9fe08f3fa1abda7d326ab.png

S =‘abcdefghijk’for i in range(0,len(S),2):print S[i]

48304ba5e6f9fe08f3fa1abda7d326ab.png

在该例子中,我们利用len()函数和range()函数,用i作为S序列的下标来控制循环。在range函数中,分别定义上限,下限和每次循环的步长。这就和C语言中的for循环相类似了。

2. 利用enumerate(), 同时得到下标和元素

利用enumerate()函数,可以在每次循环中同时得到下标和元素:

48304ba5e6f9fe08f3fa1abda7d326ab.png

S = 'abcdefghijk'

for (index,char) inenumerate(S):printindexprint char

48304ba5e6f9fe08f3fa1abda7d326ab.png

实际上,enumerate()在每次循环中,返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char

4. 利用zip(), 实现并行循环

如果你多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素,可以利用zip()方便地实现:

48304ba5e6f9fe08f3fa1abda7d326ab.png

ta = [1,2,3]

tb= [9,8,7]

tc= ['a','b','c']for (a,b,c) inzip(ta,tb,tc):print a,b,c

48304ba5e6f9fe08f3fa1abda7d326ab.png

实际上,zip()在每次循环时,从各个序列分别从左到右取出一个元素,合并成一个tuple,然后tuple的元素赋予给a,b,c

总结:

range()

enumerate()

zip()

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

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

相关文章

python调试器入门教程_PyCharm入门第一步(二)——调试第一个Python应用|python基础教程|python入门|python教程...

https://www.xin3721.com/eschool/pythonxin3721/第2步:调试您的第一个Python应用程序找出问题的根源PyCharm报告运行时错误:a ZeroDivisionError。深入研究一下代码,找出问题所在。这里可以使用PyCharm调试器来查看代码中发生了什么。要开始…

Struts2请求处理的内部流程图/结构图/原理图(版本二)

文章目录请求处理流程图流程说明请求处理流程图 流程说明 第 1 步: 客户端初始化一个指向 Servlet 容器(例如 Tomcat)的请求,例如:在浏览器中输入 http:localhost:8080/Struts2/helloworld/helloworldAction.action …

jboss 配置上下文路径_为单个Web应用程序配置多个上下文根– JBoss

jboss 配置上下文路径有时&#xff0c;我们通过在jboss-web.xm l中定义一个来对应用程序进行更改&#xff0c;以支持利用JBoss功能的多个上下文根&#xff0c;如下所示&#xff1a; webapp / WEB-INF / jboss-web.xml&#xff1a; <?xml version"1.0" encoding…

xampp mysql 查询很慢_如何开启mysql的慢查询机制

1 在mysql中默认是不会开启慢查询日志功能的&#xff0c;我们可以使用show variables like ‘%slow%‘来查看一下。结果如下&#xff1a;参数说明&#xff1a;log_slow_queries表示服务器端是否开启慢查询日志记录功能&#xff0c;slow_query_log表示mysql监测满查询的功能是否…

python3.7打包exe坑_[求助]入坑学习python 需要装pyinstaller打包成exe

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼E:\Python>pyinstaller -F E:\Python\123.py142 INFO: PyInstaller: 3.2.1142 INFO: Python: 3.5.3142 INFO: Platform: Windows-7-6.1.7601-SP1143 INFO: wrote E:\Python\123.spec144 INFO: UPX is not available.146 INFO: E…

uaa 授权_使用UAA OAuth2授权服务器–客户端和资源

uaa 授权在上一篇文章中&#xff0c;我介绍了如何使用Cloud Foundry UAA项目启动OAuth2授权服务器&#xff0c;以及如何使用OAuth2授权代码流程中涉及的一些参与者来填充它。 我在Digital Ocean网站上发现这篇文章在描述OAuth2授权代码流方面做得很好&#xff0c;因此&#xf…

谈谈Java编程中的拦截器与过滤器的区别

拦截器是基于 Java 反射机制的&#xff0c;而过滤器是基于函数回调的。 过滤器依赖于 Servlet 容器&#xff0c;而拦截器不依赖于 Servlet 容器。 拦截器只能对 Action 请求起作用&#xff0c;而过滤器则可以对几乎所有请求起作用。 拦截器可以访问 Action 上下文、值栈里的…

电影推荐系统 python简书_文章推荐系统 | 十四、推荐中心

在前面的文章中&#xff0c;我们实现了召回和排序&#xff0c;接下来将进入推荐逻辑处理阶段&#xff0c;通常称为推荐中心&#xff0c;推荐中心负责接收应用系统的推荐请求&#xff0c;读取召回和排序的结果并进行调整&#xff0c;最后返回给应用系统。推荐中心的调用流程如下…

获取请求的url java_Java获取此次请求URL以及服务器根路径的方法

一、 获取此次请求的URLString requestUrl request.getScheme() //当前链接使用的协议"://" request.getServerName()//服务器地址 ":" request.getServerPort() //端口号 request.getContextPath() //应用名称&#xff0c;如果应用名称为 request.getS…

java 平台级模块系统_Java平台模块系统公众审查未能通过

java 平台级模块系统在过去的几周里&#xff0c;Java世界中的戏剧&#xff0c;阴谋和政治活动异常高涨&#xff0c;最终在本周的JSR 376 Java平台模块系统公共评审投票中达到了顶峰。 Java模块化&#xff08;包括Java平台模块系统&#xff08;JPMS&#xff09;&#xff09;可以…

ps背景不变换字_PS教程:复杂背景中,如何利用通道轻松抠出发丝?

点击图片 1元抢购 PS、PR、AE等课程活动无缝抠图复杂背景当我们常用的钢笔抠图解决不了细碎的头发丝时我们可以用通道进行抠图&#xff0c;换背景在复杂的背景中把头发丝抠出来配套PS素材请到QQ群&#xff1a;565256668下载首先打开素材&#xff0c;我们发现背景比较复杂&…

java中$和 的区别详解_Mybatis之#{}与${}的区别使用详解

1.两种取值方式的差异mapper.xml映射文件select * from t_emp WHERE emp_id${id} and emp_name#{name}java查询代码 params 为 id1 ,name”小红”Testpublic void testSelect() {InputStream resourceAsStream ConfigTest.class.getResourceAsStream("../classes/mybatis…

阿里云 ram 容器镜像_容器中Java RAM的使用:不会丢失内存的5大技巧

阿里云 ram 容器镜像在本文中&#xff0c;我们希望分享Java内存管理的细节以及容器内部的弹性&#xff0c;这些细节乍一看并不明显。 在下面&#xff0c;您将找到要注意的问题列表以及即将发布的JDK版本中的重要更新&#xff0c;以及针对核心痛点的现有解决方法。 我们收集了5…

python 图表美化_你的图表不美观怎么办,Python实现数据可视化帮你实现

之前突然看到一个用Python实现数据可视化的技术&#xff0c;小编觉得解决了生活中的好多问题&#xff0c;大家一起来看看这个神器。1、主页首先&#xff0c;这个主页的设计就是我非常喜欢的风格&#xff0c;简单清晰&#xff0c;第一眼就让人有特别清爽的感觉&#xff0c;不愧是…

java堆内存剩余多少合理_Java堆内存的10个要点

我刚开始学习Java编程时&#xff0c;可不知道什么是堆内存或堆空间(heap space)&#xff0c;甚至根本不管对象创建时都放在哪里去了。正式了写一些程序后&#xff0c;经常会遇到java.lang.outOfMemoryError等错误&#xff0c;我才开始关注堆内存。对大多数程序员都经历过这样的…

Struts2请求处理的内部流程图/结构图/原理图(版本一)

流程说明&#xff1a; 1.客户端浏览器&#xff08;Client&#xff09;向服务器发送一个 http 请求&#xff08;HttpServletRequest&#xff09; 2.Container&#xff08;容器&#xff09; 通过 web.xml 映射请求&#xff0c;并获得控制器&#xff08;Controller&#xff09;的…

python求字符串的所有子集_打印一字符串的所有子集 | 学步园

#include#include#include#includeusing namespace std;void getSub(string src,int i,vector &result){//取子串方法:将串src中的第i个字符抠掉即为所求的子串assert(iif (src.length()<1){result.push_back(src);return;}src.erase(i,1); //删除从i开始的一个字符r…

aws 堆栈模板_使用Arquillian和LocalStack脱机测试AWS云堆栈

aws 堆栈模板在AWS云堆栈 &#xff08;例如DynamoDB&#xff0c;S3等&#xff09;上构建应用程序时&#xff0c;需要针对这些组件编写测试。 您可能首先想到的是拥有一个用于生产的环境和另一个用于测试的环境&#xff0c;然后针对该环境运行测试。 这对于集成测试&#xff0c…

java中springdi_java中spring入门

1、spring的概念apache推出的java企业框架&#xff0c;提供了基于ioc的对象工厂、aop面向切面编程等功能及其他增强功能。当前版本4.xxx&#xff0c;支持注解的配置。 springmvc。2、控制反转(ioc):inversion of control。用来描述框架的重要特征spring针对ioc的具体实现&#…