Python for循环语句
在Python语言中,循环语句是一种十分重要的程序结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。在Python语言中主要有三种循环语句,分别是for、while和循环控制语句。
一、基本的for循环语句
在Python语言中,绝大多数的循环结构都是用for语句来完成的。和Java、C语言等其他语言相比,Python语言中的for语句有很大的不同,其他高级语言for语句需要用循环控制变量来控制循环。而Python语言中的for循环语句是通过循环遍历某一序列对象(元组、列表、字典等)来构建循环,循环结束的条件就是对象被遍历完成。 在Python语言中,使用for循环语句的基本语法格式如下:
for iterating_var in sequence:
statements
在上述格式中,各个参数的具体说明如下所示:
- iterating_var:表示循环变量;
- sequence:表示遍历对象,通常是元组、列表和字典等;
- statements:表示执行语句。
在Python语言中,for循环语句的含义是:遍历for语句中的遍历对象,每经过一次循环,循环变量就会得到遍历对象中的一个值,可以在循环体中处理它。在一般情况下,当遍历对象中的值全部遍历完毕时,就会自动退出循环。 示例如下:
for letter in 'Python': #第一个实例,定义一个字符
print('当前字母:',letter) #循环输出字符串'Python'中的各个字符
fruits=['apple','banana','mango']#定义一个列表
for fruit in fruits:
print('当前单词:',fruit) #循环输出三个值
输出结果:
二、通过序列索引迭代
在Python语言中,还可以通过序列索引迭代的方式实现循环功能。在具体实现时,可以借助于内置函数range()实现。因为在Python语言的for语句中,对象集合可以是列表、字典以及元组等,所以可以通过函数range()产生一个整数列表,这样可以完成计数循环功能。函数range()的语法格式如下:
range( [start,] stop[,step])
各个参数的具体含义如下所示:
- start:可选参数,起始数,默认是从0开始;
- stop:终止数,如果range只有一个参数x,那么range生产一个从0至x-1的整数列表,例如range(5)等价于range(0, 5);
- step:可选参数,表示步长,即每次循环序列增长值。
(产生的整数序列的最大值为stop-1) 示例如下:
sights=['石林','滇池','民族村'] #定义一个数组
for index in range(len(sights)): #使用函数range()遍历数组
print('当前游览位置:',sights[index])#输出遍历数组后的结果
输出结果:
三、 使用for…else循环语句
在Python中,for…else表示的含义是:for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行。使用for…else循环语句语法格式如下:
for iterating_var in sequence:
statement1
else:
statement2
在上述格式中,各个参数的具体说明如下所示:
- iterating_var:表示循环变量;
- sequence:表示遍历对象,通常是元组、列表和字典等;
- statement1:表示for语句中的循环体,它的执行次数就是遍历对象中值的数量。
- statement2:else语句中的statement2,只有在循环正常退出(遍历完所有遍历对象中的值)时执行。
示例如下:
for num in range(10,20):
for i in range(2,num):
if num%i == 0:
j=num/i
print('%d 等于 %d * %d'%(num,i,j))
break
else:
print(num,'是一个质数')
输出结果:
四、 嵌套for循环语句
上面这个例子中,用到两个for循环语句,是嵌套的。也就是说,Python支持for语句中使用另一个for语句进行嵌套。使用for循环语句的形式如下:
for iterating_var1 in sequence:
for iterating_var2 in sequence:
statement2
statement1
再展示个实例:
for num in range(1,3):
for i in 'ABC':
print('第二层循环:',i)
print('第一层循环:',num)
输出结果:
|