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

屏幕打印结果如下:

最新文章

  1. krpano
  2. AngularJS小知识点一
  3. 打不开tomcat
  4. Oracle PL/SQL高级应用 视图 同义词 序列
  5. JAVA操作LDAP总结
  6. Linux Shell编程(4)——shell特殊字符(上)
  7. pydev新工程
  8. 10令人惊叹的模型的影响HTML5应用程序及源代码
  9. php+sqlserver实现分页效果
  10. C语言博客作业--数据类型
  11. rails中weill_paginate的paginate方法中不能使用额外参数的解决办法
  12. Win8 64位安装Oracle 11g时错
  13. 项目中PO、PM的职责区分
  14. Python_day7
  15. 20155228 2017-5-31 课堂测试:编写MyOD.java
  16. U8工具栏特别小是怎么回事
  17. 【剑指offer】调整数组数字位置
  18. ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示(一)
  19. JSP的内置对象application、session、request、page的作用域
  20. [文章存档]Azure .net WebAPP的js/css文件过大导致访问慢的解决办法

热门文章

  1. SIGCHLD和wait/waipid函数的关系
  2. zookeeper 实战操作
  3. MYSQL 的事物处理(四大特性)
  4. Proxy&Reflect
  5. HashMap 的实现原理(1.7)
  6. puppet自动化安装服务
  7. centos在无外网情况下,进行yum挂载
  8. zlib的压缩与解压
  9. python基础练习题08
  10. python中split()及os.path模块的使用方法