怎么理解python循环_如何理解Python的循环设计
在“循环”一节,我们已经讨论了Python基本的循环语法。这一节,我们将接触更加灵活的循环方式。
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循环相类似了。
enumerate()
利用enumerate()函数,可以在每次循环中同时得到下标和元素:S = 'abcdefghijk'
for (index,char) in enumerate(S):
print index
print char
实际上,enumerate()在每次循环中,返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char
zip()
如果你多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素,可以利用zip()方便地实现:ta = [1,2,3]
tb = [9,8,7]
tc = ['a','b','c']
for (a,b,c) in zip(ta,tb,tc):
print(a,b,c)
每次循环时,从各个序列分别从左到右取出一个元素,合并成一个tuple,然后tuple的元素赋予给a,b,c
zip()函数的功能,就是从多个列表中,依次各取出一个元素。每次取出的(来自不同列表的)元素合成一个元组,合并成的元组放入zip()返回的列表中。zip()函数起到了聚合列表的功能。
我们可以分解聚合后的列表,如下:ta = [1,2,3]
tb = [9,8,7]
# cluster
zipped = zip(ta,tb)
print(zipped)
# decompose
na, nb = zip(*zipped)
print(na, nb)
总结
range()
enumerate()
zip()
怎么理解python循环_如何理解Python的循环设计相关推荐
- python 矩阵运算 for循环_如何用 Python 科学计算中的矩阵替代循环
展开全部 因为在Mathematica中使用循环确实是低效的.32313133353236313431303231363533e78988e69d8331333361313961..... 深层次的原 ...
- python如何实现循环_如何构造python循环
python中的循环语句可以分为for循环和while循环. for循环可以遍历任何序列的项目,如一个列表或者一个字符串. for循环的一般格式如下:for in : else: 实例>> ...
- python 切片_全面解读Python高级特性切片
大家好,欢迎来到Crossin的编程教室! 众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串.列表.元组-)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢? 切片(slic ...
- 学习python课程_想学习Python吗? 这是我们的免费4小时互动课程
学习python课程 Python is a popular, versatile and easy-to-learn language. It's the go-to language for AI ...
- python 代码_如何让Python代码加速运行?
Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足.但是,有很多时候,Python 的效率并没有想象中的那么夸张.本文对一些 Python 代码加速运行的技巧 ...
- 2018年python薪资_最好的Python:2017和2018年至今我最喜欢的文章集
2018年python薪资 我打算发布此收藏集 (My intention with publishing this collection) Last year I only used Medium ...
- python处理速度_如何让Python处理速度翻倍?内含代码
原标题:如何让Python处理速度翻倍?内含代码 作为在日常开发生产中非常实用的语言,有必要掌握一些python用法,比如爬虫.网络请求等场景,很是实用.但python是单线程的,如何提高python ...
- linux如何退出python编辑器_怎么退出python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! cmd中如何退出python (1)在命令行上输入exit() (2)在命令行上 ...
- python马尔可夫链_[译] 用 Python 实现马尔可夫链的初级教程
马尔可夫链是通常用一组随机变量定义的数学系统,可以根据具体的概率规则进行状态转移.转移的集合满足 马尔可夫性质 ,也就是说,转移到任一特定状态的概率只取决于当前状态和所用时间,而与其之前的状态序列无关 ...
- 0基础学python培训班_[长文] 学Python不用培训班,一篇文章带你入门
最近有许多小伙伴后台联系我,说目前想要学习Python,但是没有一份很好的资料入门.一方面的确现在市面上Python的资料过多,导致新手会不知如何选择,另一个问题很多资料内容也很杂,从1+1到深度学习 ...
最新文章
- 机房收费系统之uml图——初版
- VS.Net中程序集的Debug版本和Release版本的区别
- 将ssm项目和普通java项目打包
- 测量ATMEGA8单片机IO口的输入输出内阻
- 首字母大写 -freeCodeCamp
- 【解惑】这么多技术我该怎么学 [转]
- 带卷积核的神经网络的迭代次数与收敛标准的关系
- 【LeetCode】- Search Insert Position(查找插入的位置)
- python数据科学指南是什么_《Python数据科学指南》——导读
- Android USB转串口通信开发基本流程
- wpf之DataTrigger 数据触发器
- 身为程序员的我们......
- printf标识总结
- 比CAM350好用的工具-DFM工具下载,PCB被板厂做坏了,谁的锅?
- oracle asm结构,深入了解Oracle ASM
- 【性能测试】性能测试中问题反思和心得
- x轴z轴代表的方向图片_x轴y轴z轴代表的方向_x轴y轴z轴代表的方向图
- python打印数字每行自增1个数
- 极性表面积与非极性表面积
- 计算机组成原理(详细)
热门文章
- 总结:PHP值得注意的几个问题
- ORA-07445 ERROR on auto execute of job 8913
- ASP.NET AJAX入门系列(8):自定义异常处理
- spring-boot 使用 main函数 无法启动的问题完美 解决方案。
- 用队列和栈的知识点解决迷宫问题
- 解决hadoop no dataNode to stop问题
- Ubuntu18.04 下联想电脑 无法连接WIFI问题解决
- 推翻相对论的专家,就差安排明天几点日出了
- 【报告分享】科技产业2021年投资策略:科技进步与中美再平衡下的新机遇.pdf(附下载链接)...
- EMD Earth Movers Distance