当前位置: 首页 > 科技 > 人工智能 > 零基础快乐学Python(4)——循环“转”起来!_腾讯新闻

零基础快乐学Python(4)——循环“转”起来!_腾讯新闻

天乐
2021-03-15 19:38:10 第一视角

遍历列表

如果我们想要将列表中的所有元素一一打印出来,就需要用到循环这个结构,具体代码如下:

首先,我们将names变量指向一个列表。

接下来的for...in...结构表示对于···在···中。for后面跟着一个临时变量,表示循环内容中的每一个元素,in后面就是跟的循环的内容。最后别忘了还有一个冒号:

然后下一行需要缩进,一般是留出4个空格。表示这一行的语句在循环体中,会被不断执行,直到所有的循环都完成。

结果如下:

当然,如果我们想要在循环完成后再添加一些操作,那么就不必再缩进:

关键看第3行,我们将每一个循环的元素都运用了title()方法,同时还加了一个换行符\n。

第5行表示,在所有循环完成后才会执行这条语句。

结果如下:

这里特别要注意的是,在for循环之后,如果缩进则表示在循环体内重复执行,如果不缩进则表示所有循环完成后再执行。如果错误地缩进则会造成严重的后果,比如下面这个例子:

如上所示,我们本意是将第5行的代码放在循环体中,希望同时打印这条内容。但是却没有缩进,就会导致循环完成后才能执行,结果如下:

可以看到,由于在所有循环完成之后,临时变量的最后一个元素是John,因此最后打印的就是John。

数值循环

如果你想得到一定范围内的数字,可以使用range函数。range(,3)表示从0开始,到3结束。需要注意的是,这个范围是不含右。对于range(,3)来说,就是包含0,而不包含3。输出的结果如下:

如果想将上面的内容变成列表,则可使用list函数:

结果如下:

另外,range函数中还可以加入步长,也就是隔几个数输出一次。比如下面这个例子:

在第1行,我们想在0-10中每隔2个数输出一次,因此使用range(,10,2)即可。

输出如下:

注意到,上述列表没有10,因为含左不含右。

更进一步

如果你想得到1-10的立方,那么就需要range函数和for循环的结合了:

如上所示,我们先建立一个空列表cubes,通过for循环不断往里填入内容。

因为我们想得到1-10的立方,因此range函数的取值为range(1,11)。

在循环体中,我们先将cube这个临时变量指向元素的立方value**3,然后我们使用append方法将其添加到空列表cubes中。

来看下最后的结果:

上述代码有些臃肿,我们可以去掉临时变量cube,直接在append方法中填入value**3,如下:

当然,上面的代码还不是最简洁的,我们还有一个终极大招:只用一行代码完成上述所有功能,这就是列表解析式

第1行代码就是列表解析式,可以看到,首先要用中括号将其括起来;然后左边是变量,也就是你想得到的内容;右边就是一个for循环。可以说,这个方法非常的简洁高效,结果和之前一样:

最后,你也可以对列表使用诸如min、max、sum等聚合函数,示例如下:

今日份的快乐就到这里了,明天不见不散!

提示:支持键盘“← →”键翻页
为你推荐
加载更多
意见反馈
返回顶部