首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

零基础快乐学Python(4)——循环“转”起来!

遍历列表

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

首先,我们将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等聚合函数,示例如下:

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210314A03O5R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券