【Python】学习笔记十四:循环进阶
2024-10-20 20:47:53
range()
在Python中,for循环后的in跟随一个序列的话,循环每次使用的序列元素,而不是序列的下标。
我们继续开发range的功能,以实现下标对循环的控制:
s = 'abcdefghj'
for i in range(0,len(s),3):
print(i,s[i])
在该例子中,我们利用len()函数和range()函数,用i作为S序列的下标来控制循环。在range函数中,分别定义上限,下限和每次循环的步长。这就和C语言中的for循环相类似了。
enumerate()
利用enumerate()函数,可以在每次循环中同时得到下标和元素:
s = 'abcdefghj'
for (seq,char) in enumerate(s):
print(seq)
print(char)
实际上,enumerate()在每次循环中,返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予seq和char
zip()
如果你多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素,可以利用zip()方便地实现:
temp_a = (1,2,3)
temp_b = ['a',2,3]
temp_c = (1,'oliver',3)
for (a,b,c) in zip(temp_a,temp_b,temp_c):
print(a,b,c)
每次循环时,从各个序列分别从左到右取出一个元素,合并成一个tuple,然后tuple的元素赋予给a,b,c
屏幕打印结果如下:
最新文章
- krpano
- AngularJS小知识点一
- 打不开tomcat
- Oracle PL/SQL高级应用 视图 同义词 序列
- JAVA操作LDAP总结
- Linux Shell编程(4)——shell特殊字符(上)
- pydev新工程
- 10令人惊叹的模型的影响HTML5应用程序及源代码
- php+sqlserver实现分页效果
- C语言博客作业--数据类型
- rails中weill_paginate的paginate方法中不能使用额外参数的解决办法
- Win8 64位安装Oracle 11g时错
- 项目中PO、PM的职责区分
- Python_day7
- 20155228 2017-5-31 课堂测试:编写MyOD.java
- U8工具栏特别小是怎么回事
- 【剑指offer】调整数组数字位置
- ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示(一)
- JSP的内置对象application、session、request、page的作用域
- [文章存档]Azure .net WebAPP的js/css文件过大导致访问慢的解决办法