python的循环控制,for循环

循环控制是计算机程序设计当中一个非常高效的、聪明的“发明”,如果一个应用的程序设计当中没有用到循环这个功能,那这个程序总体来说应该是不科学的!

python的循环控制可分为两类,一是for循环,二是while循环。for更多的是用来遍历可迭代对象,一般不需要条件判断,而while则恰恰相反,必须有一个启动循环和终止循环的条件判断,如果没有,循环将无限下去,导致程序崩溃,计算器的内存也可能因此瘫痪!下面我们来先介绍python的这for循环。


python的for循环

for循环是鄙人比较常用的一种循环方式,鄙人阅读过的诸多python的代码当中,大部分也是使用for循环。

for循环用来遍历可迭代的对象,如列表、字符串、字典、集合、元组等等。什么叫做迭代呢?原定义比较抽象,我就按自己的理解方式来吧,我们打个比方,就像爬楼梯,我们的双脚重复着爬楼梯的动作(遍历),然后一级一级地踩上台阶(可迭代对象中的元素),然后以踩上的台阶为踮脚(处理元素),继续往高处爬(得到遍历迭代的结果)。我们可以看下如下的示例。

for循环的一般形式,通常情况下不必设计终止循环的条件,不过可以通过if和break来终止循环,不过break在for循环当中不常用,在while当中比较常用,讲到while循环的时候,我们将用while开发一个猜数字的小游戏的示例。

for  var in squenece:
    do something

for...in...是for循环的固定模式,而且循环中,鄙人的理解是,for启动了循环遍历,然后in通过获取可迭代对象squenece中元素的值,然后赋值给变量var。

for循环示例

大家可以打开jupter notebook,如果用python自带的shell,记得代码严格的缩进。

In[1]:a = list(range(1,10))
for i in a: #for启动循环,以逐一通过 in 获取列表a中的元素,并赋值给变量 i,下面的代码则是用于处理变量i
    print(i)
1
2
3
4
5
6
7
8
9
sum = 0
for j in a:
    sum += j #求列表元素中的和
print(sum)
45

for循环中的continue

continue就是跳过当前的循环,然后开启下一次循环,这个continue在for循环当中比终止程序的break更为常用。比如,在大数据处理当中,当我们在数据的预处理过程中,遇到极值,即极大值和极小值很可能会破坏统计样本的在模型训练过程中的拟合和泛化的情况,比如工资3000的和1000万的平均值约等于500万,所以会将它们摒弃掉。这个时候,就可以用for循环中的continue。

continue示例

这是一个简单的数据预处理的例子,实战中的会更加复杂。

In[1]: a = [1,3,5,6,8,2,3,100,5,4,2,3,6,5] #假设有这么一个统计样本,并且已经处理成列表
new_a = []
for i in a:
    if i > 10:
        continue
    new_a.append(i)

print(new_a)
[1, 3, 5, 6, 8, 2, 3, 5, 4, 2, 3, 6, 5] #我们可以看到,利用continue,我们跳过了100这个循环,进入到下一次循环当中

for循环与break搭配

正如前面所说,这种方式并不常用,至少鄙人开发的诸多python应用当中比较少用到。具体的可以下一章节中break在while游戏开发中的应用,都大同小异,都是退出终止循环、退出循环的作用。


python的for循环就暂且介绍到这里,下一章节我们将继续介绍python的循环控制中的while循环,并且开发个小游戏的实例。


全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.