For循环的功能比较强大,他可以帮助我们实现很多重复性的工作。而且for循环能迭代不同的数据结构。他的应用也十分的广泛,作为初学者,我们需要对循环的概念多加理解和练习。接下来我们就来学习for循环的一些相关知识。可能不是最全的知识,但是我会努力把最新的知识更新进来。咱们废话不多说,继续接着上一篇的。

首先我们来看一下for循环的定义:在python中,for循环实际是把后面序列中的元素依次赋值给前面的变量,每赋值一次就会执行一次语句块的内容,也就是循环一次。看一下for循环的结构吧:

for   变量    in     可迭代的对象:
    语句块

OK,我们继续来看一下它的用法吧。

1.for循环迭代字符串
2.for循环迭代列表
3.for循环迭代元祖
4.for循环迭代字典
5.for循环中的enumerate(枚举)
6.for循环的嵌套循环实例  

1.for循环迭代字符串

for i in 'python':
print 'This is print',i
输出结果
This is print p
This is print y
This is print t
This is print h
This is print o
This is print n

2.for循环迭代列表

list = ['apple','python','pear','orange']
for i in range(len(list)):
print "当前打印的是:",list[i],'长度是',len(list[i])

输出结果是:

当前打印的是: apple 长度是 5
当前打印的是: python 长度是 6
当前打印的是: pear 长度是 4
当前打印的是: orange 长度是 6

3.for循环迭代元祖

for  i  in ('tom','jim','jack'):
print '当前打印的是',i,'+','长度是',len(i)

输出结果:

当前打印的是 tom + 长度是 3
当前打印的是 jim + 长度是 3
当前打印的是 jack + 长度是 4

4.for循环迭代字典

默认返回的是字典中的键,如果想返回字典的值 请使用 dic.vales()方式
dic = {'name':'xiaoming','age':15,'address':'beijing'}
for i in dic:
print i
输出结果是:
age
name
address

将字典中的键和值通过元祖的形式返回并存储到列表中。

dic  = {'name':'xiaoming','age':15,'address':'beijing'}
for k,v in dic.items():
print k,"===",v
输出结果
age === 15
name === xiaoming
address === beijing

5..for循环中的enumerate(枚举)  enumerate的作用是将可迭代的对象里面的元素可以通过索引位置返回。

list = ['a','b','c']
for k,v in enumerate(list):
print k,'===',v

输出结果

0 === a
1 === b
2 === c

6.for循环的嵌套循环实例

嵌套的执行顺序,最外层的大循环执行一次,里面的小循环执行10次,然后在大循环执行一次,小循环在执行10次,之到大循环结束。
大循环每次取一个值,小循环就会取1-10,一直到大循环取值i=10时,小循环执行完毕。整个嵌套循环结束。
for  i  in range(1,10):
print '----------->',i
for j in range(1,10):
print '++++++++=',j

输出结果如下:

-----------> 1
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
++++++++= 5
++++++++= 6
++++++++= 7
++++++++= 8
++++++++= 9
-----------> 2
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
++++++++= 5
++++++++= 6
++++++++= 7
++++++++= 8
++++++++= 9
-----------> 3
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
++++++++= 5
++++++++= 6
++++++++= 7
++++++++= 8
++++++++= 9
-----------> 4
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
++++++++= 5
++++++++= 6
++++++++= 7
++++++++= 8
++++++++= 9 ....................

如果在里面加一些条件来限制呢?break是中断循环,满足条件直接停止后面的循环。

最外层的大循环执行一次,小循环当满足j=5的时候直接停止循环,小循环每次取的值只能是1,2,3,4

一直到最外层的大循环i=10的时候,小循环结束最后一次循环1,2,3,4  整个循环最后退出。

for  i  in range(1,10):
print '----------->',i
for j in range(1,10):
if j == 5:
break
print '++++++++=',j

输出结果如下:

-----------> 1
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
-----------> 2
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
-----------> 3
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
-----------> 4
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
-----------> 5
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4

如果把break换成continue呢?continue是跳出当前循环,当次循环满足条件直接跳出,在继续执行下一次循环。简单点理解就是满足条件,就跳出该次循环。进行下一次的循环体。我们看下这段代码的输出效果:

for  i  in range(1,10):
print '----------->',i
for j in range(1,10):
if j == 5:
continue
print '++++++++=',j
输出结果:
-----------> 1
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
++++++++= 6
++++++++= 7
++++++++= 8
++++++++= 9
-----------> 2
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
++++++++= 6
++++++++= 7
++++++++= 8
++++++++= 9
-----------> 3
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
++++++++= 6
++++++++= 7
++++++++= 8
++++++++= 9
-----------> 4
++++++++= 1
++++++++= 2
++++++++= 3
++++++++= 4
++++++++= 6
++++++++= 7
++++++++= 8
++++++++= 9

从结果可以狠明显的看出,当大循环执行一次的时候,小循环会执行9次,而不是10次,取值为1,2,3,4,6,7,8,9直接跳过了j=5的时候的取值,然后外层的循环体在进行循环,内层的循环在进行1-9的取值(除5以外),每次的运行结果一zhi。所以,这就是continue的作用。

我们在变形for循环嵌套:

这一次我们将内层的循环换成了range(1,i+i)也就是当大循环i=1的时候,j的取值有1,2  类似range(1,2),但是取不到2,只能取到1,

所以第一次的循环就是i=1 ,j=1    第二次的循环就是i=2,j=1,2   第三次的循环就是i=3,j=1,2,3   第四次的循环就是i=4,j=1,2,3,4

一直到 i= 10  j=1,2,3,4,5,6,7,8,9

for  i  in range(1,10):
print '----------->',i
for j in range(1,i+1):
print '+++++++++++',j

所以,最后的打印结果如下:

-----------> 1
+++++++++++ 1
-----------> 2
+++++++++++ 1
+++++++++++ 2
-----------> 3
+++++++++++ 1
+++++++++++ 2
+++++++++++ 3
-----------> 4
+++++++++++ 1
+++++++++++ 2
+++++++++++ 3
+++++++++++ 4
-----------> 5
+++++++++++ 1
+++++++++++ 2
+++++++++++ 3
+++++++++++ 4
+++++++++++ 5
-----------> 6
+++++++++++ 1
+++++++++++ 2
+++++++++++ 3
+++++++++++ 4
+++++++++++ 5
+++++++++++ 6
-----------> 7
+++++++++++ 1
+++++++++++ 2
+++++++++++ 3
+++++++++++ 4
+++++++++++ 5
+++++++++++ 6
+++++++++++ 7
-----------> 8
+++++++++++ 1
+++++++++++ 2
+++++++++++ 3
+++++++++++ 4
+++++++++++ 5
+++++++++++ 6
+++++++++++ 7
+++++++++++ 8
-----------> 9
+++++++++++ 1
+++++++++++ 2
+++++++++++ 3
+++++++++++ 4
+++++++++++ 5
+++++++++++ 6
+++++++++++ 7
+++++++++++ 8
+++++++++++ 9

同样的如果三层循环嵌套呢?他们每一层的循环规律是怎么样的呢?我们继续探讨一下!

for  i  in range(1,10):
print '----------->',i
for j in range(1,10):
print '+++++++++++',j
for k in range(1,10):
print '----------------',k
上面四一个三层嵌套的循环实例。这里面循环分为1,2,3层。最外面的可以看作大循环。中间的看作是中循环,最下面的看作是最内侧的循环。这里面的运行规律是
当i = 1 时,j=1,k=1,2,3,4,5,6,7,8,9
接着就是 j=2,k=1,2,3,4,5,6,7,8,9
接着j=3,k=1,2,3,4,5,6,7,8,9
接着j=4,k=1,2,3,4,5,6,7,8,9
接着j=5,k=1,2,3,4,5,6,7,8,9
接着j=6,k=1,2,3,4,5,6,7,8,9
...............................
一直到j=9,k=1,2,3,4,5,6,7,8,9
上面的执行完毕,然后大循环在循环一次
当i = 2时 ,j=1,k=1,2,3,4,5,6,7,8,9
然后接着就是 j=2,k=1,2,3,4,5,6,7,8,9
接着j=3,k=1,2,3,4,5,6,7,8,9
接着j=4,k=1,2,3,4,5,6,7,8,9
接着j=5,k=1,2,3,4,5,6,7,8,9
接着j=6,k=1,2,3,4,5,6,7,8,9
然后直到大循环i=9的时候,中层循环和内层循环全部执行完毕,整个循环退出。
输出结果:
-----------> 1
+++++++++++ 1
---------------- 1
---------------- 2
---------------- 3
---------------- 4
---------------- 5
---------------- 6
---------------- 7
---------------- 8
---------------- 9
+++++++++++ 2
---------------- 1
---------------- 2
---------------- 3
---------------- 4
---------------- 5
---------------- 6
---------------- 7
---------------- 8
---------------- 9
+++++++++++ 3
---------------- 1
---------------- 2
---------------- 3
---------------- 4
---------------- 5
---------------- 6
---------------- 7
---------------- 8
---------------- 9
+++++++++++ 4
---------------- 1
---------------- 2
---------------- 3
---------------- 4
---------------- 5
---------------- 6
---------------- 7
---------------- 8
---------------- 9
+++++++++++ 5
...................................

Python基础入门-For循环的更多相关文章

  1. Python基础入门-while循环示例

    闲来无事! 想写一些基础的东西! 比如今天的while循环,,,,,, 很多python初学者,最开始学习python的时候,会被while循环给干蒙蔽! 那么今天,小编为大家讲解一些基础的实例,来帮 ...

  2. Python基础入门-While循环

    讲完了for循环我们继续来看第二个循环,那就是while循环,while循环和for循环虽然都是循环,但是有着本质的不同.我们先来看下她们之间的区别和联系: While循环和for循环区别: 1.fo ...

  3. python基础入门while循环 格式化 编码初识

    一.while循环 1.格式 while+空格+条件+英文冒号: ​ 缩进+结果(循环体) ​ #若条件为真则一直执行,条件为假则不执行 while True: print('痒') print('. ...

  4. Python基础入门教程

    Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...

  5. Python基础入门总结

    Python基础入门教学 基础中的基础 列表.元组(tuple).字典.字符串 变量和引用 函数 python视频教程下载 基础中的基础 解释型语言和编译型语言差距: Python概述 解释器执行原理 ...

  6. [新手必备]Python 基础入门必学知识点笔记

    Python 作为近几年越来越流行的语言,吸引了大量的学员开始学习,为了方便新手小白在学习过程中,更加快捷方便的查漏补缺.根据网上各种乱七八糟的资料以及实验楼的 Python 基础内容整理了一份极度适 ...

  7. Python基础【while循环】

    Python基础[while循环] 1.while循环: 格式 while 条件: ...... print(......) 注意,在while语句也可以嵌套else,但是else不执行循环,执行后直 ...

  8. python while循环 - python基础入门(9)

    经过昨天的学习,相信大家已经对 python的条件判断表达式if/else 有一定的了解了,那么我们今天配合昨天的课程讲解一个新概念 – while循环 . 都说程序源于生活,假如有这样一个场景:老师 ...

  9. PJzhang:python基础入门的7个疗程-one

    猫宁!!! 参考链接:易灵微课-21天轻松掌握零基础python入门必修课-售价29元人民币 https://www.liaoxuefeng.com/wiki/1016959663602400 安全从 ...

随机推荐

  1. button和input type=button的区别及注意事项

    <button>标签 定义和用法 <button>标签定义一个按钮. 在button元素内部,您可以放置内容,比如文本或图像.这是该元素与使用input元素创建的按钮之间的不同 ...

  2. PHP Tools for VS2017 key/破解 [搬运]

    看看结果 搬运地址 :  (自己敲吧...) 这里面破解的只有一年 时间可以在文中提供的 ------------------------------------------------------- ...

  3. 9 闭包——《Swift3.0从入门到出家》

    8  闭包 Swift语言中可以使用一块独立代码块替代函数的定义,称独立的代码块为闭包 闭包格式为: {(参数列表)->返回值类型    in 执行语句 } 例子: <1>使用闭包实 ...

  4. [转]javascript中基本类型和引用类型的区别分析

    基本类型和引用类型 ECMAScript包含两个不同类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段:引用类型值指由多个值构成的对象.当我们把变量赋值给一个变量时,解析器首先要做的就是确 ...

  5. android中HttpClient的应用(POST方法)

    首先在http://hc.apache.org/downloads.cgi下载HttpClient包 直接看代码 import android.os.Handler; import android.o ...

  6. 关于UNIDAC连接SQLITE3的心得笔记

    关于查询某个SQLITE3DB的所有表单的语句: UniQuery1.SQL.Add('SELECT * FROM sqlite_master'); 关于UNIDAC提交数据: //在提交数据之前,必 ...

  7. 使用FormData实现ajax文件异步上传

    1.传统的web开发文件上传一般是基于form表单的文件上传,同步的方式,用户体验差,可控性也差 2.异步上传的实现 有以下方式 2.1 借助浏览器插件 一般需要安装一些类似flash的插件  这种方 ...

  8. nextSibling VS nextElementSibling

    2. nextSibling vs nextElementSibling { //FF { 在Firefox中,link2的nextSibling并不是link3,因为两者之间有一个换行符. 这被认为 ...

  9. MyBatis collection的两种形式——MyBatis学习笔记之九

    与association一样,collection元素也有两种形式,现介绍如下: 一.嵌套的resultMap 实际上以前的示例使用的就是这种方法,今天介绍它的另一种写法.还是以教师映射为例,修改映射 ...

  10. Ajax 请求session过期的统一处理

    public class LoginInterceptor extends HandlerInterceptorAdapter { @SuppressWarnings("unused&quo ...