一、功能

for 循环提供了python中最强大的循环结构(for循环是一种迭代循环机制,而while循环是条件循环,迭代即重复相同的逻辑操作,每次操作都是基于上一次的结果,而进行的)

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

二、语法

for循环的一般格式如下:

for iter_var in iterable:

suite_to_repeat

注解:每次循环, iter_var 迭代变量被设置为可迭代对象(序列, 迭代器, 或者是其他支持迭代的对 象)的当前元素, 提供给 suite_to_repeat 语句块使用.

python for循环实例

msg="hello egon 666"

for i in(msg):print(i)

for循环,利用索引遍历出每一个字符

执行结果如下

C:\Python36\python.exe C:/Users/张宁阳/Desktop/test/day7/作业.py

h

e

l

l

o

e

g

o

n6

6

6Process finished with exit code 0

View Code

遍历序列类型

name_list=['alex','eric','rain','xxx']#通过序列项迭代

for i inname_list:print(i)#通过序列索引迭代

for i inrange(len(name_list)):print('index is %s,name is %s' %(i,name_list[i]))#基于enumerate的项和索引

for i,name in enumerate(name_list,2):print('index is %s,name is %s' %(i,name))

for循环遍历序列

遍历可迭代对象或迭代器:

迭代对象:就是一个具有next()方法的对象,obj.next()每执行一次,返回一行内容所有内容迭代完后,

迭代器引发一 个 StopIteration 异常告诉程序循环结束. for 语句在内部调用 next() 并捕获异常.

for循环遍历迭代器或可迭代对象与遍历序列的方法并无二致,只是在内部做了调用迭代器next(),并捕获异常,终止循环的操作

很多时候你根本无法区分for循环的是序列对象还是迭代器

>>> f=open('a.txt','r')for i inf:print(i.strip())

hello

everyone

sb

三、range()函数

如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列。

range()语法:

range(start,end,step=1):顾头不顾尾

range(10):默认step=1,start=0,生成可迭代对象,包含[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range(1,10):指定start=1,end=10,默认step=1,生成可迭代对象,包含[1, 2, 3, 4, 5, 6, 7, 8, 9]

range(1,10,2):指定start=1,end=10,step=2,生成可迭代对象,包含[1, 3, 5, 7, 9]

例如:

>>>for i in range(5):

...print(i)

...

01

2

3

4

注:for基于range()实现计数循环,range()生成可迭代对象,说明for循环本质还是一种迭代循环

你也可以使用range指定区间的值:

>>>for i in range(5,9) :print(i)5

6

7

8

>>>

您可以结合range()和len()函数以遍历一个序列的索引,如下所示:

>>>a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ']>>> for i inrange(len(a)):

...print(i, a[i])

...

0 Google1Baidu2Runoob3Taobao4QQ>>>

View Code

四、for与break,continue,else

同while

#break#continue

for i in range(10):if i == 4:#break

continue

print(i)for+else

for i in range(10):print(i)break

else:print('===>')

break、continue

五、实例

九九乘法表

for i in range(1,10):for j in range(1,i+1):print("%d*%d=%d" % (j, i, i * j), end=' ')print(' ')

albums = ('Poe', 'Gaudi', 'Freud', 'Poe2')

years= (1976, 1987, 1990, 2003)#sorted:排序

for album insorted(albums):print(album)#reversed:翻转

for album inreversed(albums):print(album)#enumerate:返回项和

for i inenumerate(albums):print(i)#zip:组合

for i inzip(albums,years):print(i)

复制代码

六、小结

for循环为迭代循环

可遍历序列成员(字符串,列表,元组)

可遍历任何可迭代对象(字典,文件等)

可以用在列表解析和生成器表达式中

break,continue,else在for中用法与while中一致

pythonfor循环加2_python-for循环相关推荐

  1. pythonfor循环加2_python中for循环如何实现每次控制变量翻倍

    想了下,先写两个. 你这样循环初始i值不能为0. """ 1.使用While循环 """ i = 1 N = 50 while True: ...

  2. pythonfor循环加2_python – 在For循环中添加List(我最初将List设置为什么?)

    这是一个初学者的问题. 我将在他们的列表中有一个具有不同数量值的字典. dict1 = {'a': [0,1,2], 'b': [3,4,5]} dict2 = {'a': [0,1,2,3], 'b ...

  3. 基于vue的公共looploading组件(vue循环加载--组件)

    前些天做的组件,觉得挺有意思,上传到了github上 https://github.com/SwnCowDevil/my-looploading 说明:    一款基于vue的循环加载公共组件, 组件 ...

  4. matlab 多重循环在最外层加断点_循环优化之循环分块(loop tiling)

    引言 编译器里的循环优化有两个重要的目标,一是提高局部性,二是提高并行性,loop tiling是提高数据局部性最重要的优化之一,是传统编译器和深度编译器考虑的重中之重,我们今天来看看如何做loop ...

  5. Vue本地图片循环加载显示不出来,vue img标签 :src地址拼接

    Vue本地图片循环加载显示不出来,vue img标签 :src地址拼接 上代码: <img:src="img"alt="banner" /> dat ...

  6. es6 循环加载ES6模块

    循环加载ES6模块 "循环加载"(circular dependency)指的是,a脚本的执行依赖b脚本,而b脚本的执行又依赖a脚本. // a.js var b = requir ...

  7. Spring-Bean加载顺序控制/循环依赖控制

    Spring-Bean加载顺序控制/循环依赖控制 1 加载顺序 1.1 @Order Bean上使用@Order注解,如@Order(2).数值越小表示优先级越高.默认优先级最低. 可参考Spring ...

  8. 解决Ubuntu自动更新Linux内核导致显卡驱动无法加载,致使循环在登录界面

    解决Ubuntu自动更新Linux内核导致显卡驱动无法加载,致使循环在登录界面 关闭unattended-upgrade 在/etc/apt/apt.conf.d目录下,查找包含Unattended- ...

  9. 一套可行的PFC力控制实现循环加载方法

    一.基本原理 PFC中的计算元素包括ball.clump.wall,其中ball和clump是参与力学计算的,也就是说可以由接触力来计算其速度位移.但wall是不可以进行力学计算的,只能使用位移进行控 ...

最新文章

  1. ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set...
  2. 对Linux系统中的时钟和时间的探讨
  3. 七日存留查询(MYSQL)
  4. 周永亮 《我是职业人》
  5. Flask开发系列之Web表单
  6. 股权分配中的三种定时炸弹
  7. pilt图像处理_详解python opencv、scikit-image和PIL图像处理库比较
  8. 在html中加动画效果,html5中css3新添加的动画效果
  9. Linux静默安装oracle
  10. c语言作业请输入一个运算符,C语言书面作业1(有答案版)..doc
  11. C# partial 部分类使用简单举例说明
  12. java jsp session_JSP中Session的使用
  13. PB级(大数据)的来源
  14. html5中心旋转动画效果图,HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)...
  15. NET Core-学习笔记(一)
  16. python二维游戏编程 最强大脑游戏_看完《最强大脑》,我决定用Python做这个游戏...
  17. 科林明伦杯哈尔滨理工大学第九届程序设计竞赛 H 题(dfs)
  18. SAAS云平台搭建札记: (一) 浅论SAAS多租户自助云服务平台的产品、服务和订单
  19. 无法解析的外部符号 _Direct3DCreate9@4
  20. Linux组播编程 组播发送和组播接收

热门文章

  1. from __future__ import print_function 介绍
  2. TensorFlow官方入门实操课程-卷积神经网络
  3. numpy.absolute详解
  4. HiveSQL窗口函数
  5. redis 面试问题问答Top 10
  6. Apache Flink 零基础入门【转】
  7. java8 lamda快速入门
  8. Load Balance Tomcat with Nginx and Store Sessions in Redis--reference
  9. 用sql统计vintage,滚动率,迁移率,逾期率
  10. 2019区块链行业指南