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

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

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

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

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

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

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

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

S = 'abcdefghijk'

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

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

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

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

ta = [1,2,3]

tb= [9,8,7]

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

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

总结:

range()

enumerate()

zip()

python进阶项目设计_Python进阶循环设计相关推荐

  1. range函数python循环次数查询_python进阶教程之循环相关函数range、enumerate、zip

    在"循环"一节,我们已经讨论了Python基本的循环语法.这一节,我们将接触更加灵活的循环方式. range() 在Python中,for循环后的in跟随一个序列的话,循环每次使用 ...

  2. python order函数_Python进阶内容(一)--- 高阶函数 High order function

    0. 问题 # 本文将围绕这段代码进行Python中高阶函数相关内容的讲解 # 文中所有代码的兼容性要求为:Python 3.6,IPython 6.1.0 def addspam(fn): def ...

  3. python多线程并发_Python进阶记录之基础篇(二十四)

    回顾 在Python进阶记录之基础篇(二十三)中,我们介绍了进程的基本概念以及Python中多进程的基本使用方法.其中,需要重点掌握多进程的创建方法.进程池和进程间的通信.今天我们讲一下Python中 ...

  4. python gui插件_Python进阶量化交易专栏场外篇17- GUI控件在回测工具上的添加

    欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前推出的扩展篇链接如下: 为了 ...

  5. python进阶数据_Python 进阶

    高阶函数 定义 函数接受的参数是一个函数 函数的返回值为一个函数 满足以上2点中其中一个就是高阶函数 函数嵌套 定义 函数中def定义一个函数 嵌套会存在闭包, 其他情况不会有闭包(闭包闭的是变量) ...

  6. 2023年Python面试题_Python进阶_48道

    Python 中类方法.类实例方法.静态方法有何区别? 类方法:是类对象的方法,在定义时需要在上方使用"@classmethod"进行装饰,形参为 cls,表示类对象,类对象和实例 ...

  7. python网络通信效率_Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)...

    Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器 定义: 这里的客户端一般 ...

  8. python中文下载_Python进阶中文PDF[17.1MB] 高清下载

    < Python进阶>是<Intermediate Python>的中译本,对Python中的装饰器与推导式等高级用法做了详细说明,适合于掌握Python基础后的进一步提高. ...

  9. python 进阶第五关 进阶任务_Python 进阶

    看了之前写的稍微大规模一些的python代码,想改但是无处入手,深觉自己代码欠缺规范性,设计模式也没咋好好学过 从几个方面重新磨一下刀 1.编辑器 VSCODE: 自带高亮,代码补全,自带终端,可以在 ...

最新文章

  1. 参加第十六届智能车竞赛学生提出的问题-05-10
  2. python中有很多包管理工具、以下哪种不是_python试卷_共4页
  3. C++SEG TREE线段树的实现算法(附完整源码)
  4. what is the meaning of bring you up to speed?
  5. Python线程编程—同步队列
  6. TimerTask定时任务
  7. 中央处理器属于计算机外部设备吗,不属于计算机外部设备的是
  8. C#-JSON的序列化和反序列化
  9. 蓝桥杯 ALGO-123 算法训练 A+B problem
  10. 博思得标签打印机驱动_惠普LaserJet 5200n驱动-惠普HP LaserJet 5200n打印机驱动下载 v61.074.561.43官方版...
  11. springboot日志输出异常_基于aop进行springboot接口调用日志和埋点日志输出,支持json格式方便elk收集...
  12. 无土栽培中的物联网技术应用
  13. APPweb测试工具
  14. 视频格式转换器之视频格式在线转换详细教程
  15. SharePoint 通过控制上传下载对文件进行加密解密(二)
  16. 【魔兽世界插件】魔兽世界插件实战笔记从入门到放弃的心理历程 第七节 按钮的创建和点击事件
  17. 0.1+0.2为什么不等于0.3
  18. Mysql数据库主主从设置
  19. 单场淘汰制场次计算方法_体育编排
  20. RJ45网线接头的引脚定义和制作方法

热门文章

  1. primefaces_使用WildFly 8.2.0.Final,Primefaces 5.1和MySQL 5的JDBC领域和基于表单的身份验证...
  2. spark wai_WAI-ARIA对自动完成小部件的支持
  3. webapp文本编辑器_Project Student:维护Webapp(可编辑)
  4. jooq权限配置_将jOOQ与Spring结合使用:配置
  5. JavaFX技巧30:带有DropShadow的ScrollPane
  6. MongoDB初学者教程
  7. perl大骆驼和小骆驼_你好骆驼:自动文件传输
  8. 自动生成优化的Java类专业知识
  9. 5个常见的Hibernate异常及其解决方法
  10. merge语句使用_使用SQL:2003 MERGE语句的奥术魔术