一、循环语法
1、 for in 循环
for in 循环用于明确起点和终点的循环类型,将in后面内容(一般为列表等)的元素挨个赋值给for 后的变量
x=[1,2,3,4,5,6]
for i in x :#依次赋予i 为1,2,3,4,5,6;i无需使用其他语句控制
print(i)
fruit = ['apple', 'pear', 'orange', 'banana'] for item in fruit: #将apple等元素一个个赋予item print(item)
2、while 循环
使用明显条件控制是否执行循环 例如:while x>= 10: ; 只有变量x在满足大于等于10的情况下,才会执行while循环的内容,否则退出循环。
y=1#定义变量 while 12-y >= 0: print(f'这是第{y}月') y+=1 #使用y加一达到最后12-y小于0的目的,退出循环
二、循环语句的对比与衍生
1、对比
a:长度
for in 循环需要起点和终点来进入和退出循环;循环次数可计算
while循环需要满足循环条件;循环次数不被限定
总结:for in 循环通常在一定条件,比如列表等方式为佳,while循环在判断值是否达到最终效果为佳。
b、变化
for in 循环因为for后面变量每次循环都被重新定义和赋值,所以需要其他语句控制
while循环需要对变量进行的定义赋值后才能使用,且在使用过程中需要语句控制变化,否则会一直满足循环条件
总结:一般情况使用for in 循环;在位置循环次数或需要某个变化时才使用while循环
2、衍生
a、for in range()
range(a, b,c) 函数中,a、b分别为遍历的左右区间阈值(左闭右开,即从a开始到b-1结束),c为遍历的步长,即取第一个数据后加上步长才是取得第二个数据(一般只写b,默认a=0、c=1,即 range(10) 为取0到9的所有整数数)。
如:for i in range(1, 5, 2)
此时 i 可以取的值为1,3。
b、for in enumerate()
for x in enumerate(a) 用法 :x 位置可以填写 x,y 或x 两种表达形式;a一般为列表等内容。意义:若a为列表等,则可以取到元素下标和元素值两个内容(下标在前,元素内容在后),若for后只有一个变量,则为(0,1)形式存储,若为两个变量,则第一个变量存放下标,第二个变量存放元素内容
a = ['aplle','hello world!', 'test', 1000] for i, b in enumerate(a): print("i = ", i) #i 赋值为a当前元素的下标 print("b = ", b) #b赋值为a当前的元素 for b in enumerate(a): print("b = ", b) #b存放下标和元素内容
3、循环指令
break:结束循环(若为嵌套循环,则break结束本层循环)
continue:跳过本次循环(不执行continue之后的语句,进入下一次循环)
exit():结束程序(需要添加括号,执行到exit命令时,终止运行)
pass:用于占位(无执行效果,保障程序的完整性)
a = ['aplle','hello world!', 'test', 1000] for i, b in enumerate(a): print("i = ", i) #i 赋值为a当前元素的下标 print("b = ", b) #b赋值为a当前的元素 break
a = ['aplle','hello world!', 'test', 1000] for i, b in enumerate(a): continue print("i = ", i) #i 赋值为a当前元素的下标 print("b = ", b) #b赋值为a当前的元素
a = ['aplle','hello world!', 'test', 1000] for i, b in enumerate(a): print("i = ", i) #i 赋值为a当前元素的下标 print("b = ", b) #b赋值为a当前的元素 exit() print("i = ", i) #i 赋值为a当前元素的下标
a = ['aplle','hello world!', 'test', 1000] for i, b in enumerate(a): print("i = ", i) #i 赋值为a当前元素的下标 print("b = ", b) #b赋值为a当前的元素 pass print("i = ", i) #i 赋值为a当前元素的下标
参考:这样理解真是太透彻了,Python的for循环和while循环也就这么回事 - 知乎 (zhihu.com)
python中for的三种常用遍历方式( for ... in,for ... in range(),for ... in enumerate() )_for in enumerate-优快云博客