python-程序控制-for(包含range函数)(四)
1.for循环的一般形式
for tmpVar in Iterable: block
- tmpVar 是临时变量
- Iterable 是可迭代对象
- 第一行是循环条件,当对可迭代对象的迭代遍历结束时,for循环也就结束
- block是循环体,每一次循环,程序都要进入到这个block内来执行代码
2.for循环,从形式上可以分为两种
1.使用range函数自由控制循环次数
2.遍历容器
2.1 range 函数
range函数返回一个对象,该对象产生一个整数序列。 range(start,stop,step)函数有3个参数 1.start 整数序列开始的位置 2.stop 整数序列结束的位置 3.step 步长 开始与结束位置所组成的区间[start, stop)是左闭右开的,start默认是0,step默认是1。下面向你展示range函数的使用方法 1.range(1, 5) 产生的整数序列是1, 2, 3, 4 2.range(0, 4, 2) 产生的整数序列是0,2 3.range(5, 0, -1) 产生的整数序列是5, 4, 3, 2, 1 4.range(3) 产生的整数序列是0,1,2
for i in range(1,11,2): print(i) # range[start,stop,step) #start默认值是0,step默认值是1
2.2 使用range()函数编写for循环
编写for循环输出从1到10(包括10)的整数
for i in range(1, 11): print(i)
range(0, 11) 产生了整数序列:1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ,结合上一篇教程《迭代遍历思维》的内容来理解这段代码。 range函数产生了一个整数序列,从0到10,for循环的过程就是迭代遍历他们的过程。第一行代码里的i是临时变量,每一次循环,都会改变i的值,i将依次等于1,2 ... 9, 10,而每一次将新的值赋值给i以后,都要进入到循环体里执行代码,在这个示例代码中,循环体里只有一行代码print(i),这样就是实现了输出从1到10的功能。
2.3 遍历容器数据
列表,元组,集合,字典4种容器类型数据,他们都是可迭代对象,下面的代码向你展示如何判断一个数据是不是可迭代对象:
from collections import Iterable print(isinstance(range(5), Iterable)) # range函数返回值是可迭代对象 print(isinstance([1, 2], Iterable)) # 列表 print(isinstance((1, 2, 3), Iterable)) # 元组 print(isinstance({1, 2, 3}, Iterable)) # 集合 print(isinstance({"a": 1, "b": 2}, Iterable)) # 字典
程序输出结果:
True
True
True
True
True
2.3.1 遍历列表,元组
元组和列表实在是太相似了,很多操作方法都是相同的,因此我们总是以列表举例子讲解,遍历一个列表,有3种方法:
方法1,通过索引遍历:
#coding-utf-8; lst =[1,2,3,4,5,6]; for i in range(len(lst)): print lst[i];
方法2,直接遍历
#coding-utf-8; lst =[1,2,3,4,5,6]; for i in lst: print i;
方法3,通过enumerate函数遍历
lst =[1,2,3,4,5,6]; for index,item in enumerate(lst): print index,item;
程序输出:
0 1 1 2 2 3 3 4 4 5 5 6
这种遍历方式既能获得数据,也能获得数据的索引,是前面两种方法的融合。
2.3.2 集合遍历
集合没有索引,因此只能直接遍历。
#coding=utf-8; set_obj ={1,2,3,4,5,6}; for i in set_obj: print i;
2.3.3 遍历字典
对字典的遍历,有两种常见的方法。
方法1,使用key遍历字典:
dict_obj ={'a':1,'b':2,'c':3}; for i in dict_obj: print i,dict_obj[i];
方法2,使用字典items()方法遍历:
for key,values in dict_obj.items(): print key,values;
两种方法最终的输出结果是一样的。