欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

【学习笔记】33、具有Python特色的循环

发布时间:2025/3/20 23 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【学习笔记】33、具有Python特色的循环 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

具有Python特色的循环

首先我们看一下下面这个代码段,作用是循环输出列表内容。

 

上面的代码 段其实缺乏Python特色,首先代码中手动跟踪了索引(使用了变量“i”,初始为0,每次循环递增1),其次使用len()函数获取容器大小。

我们可以使用内置的range()自动生成索引range类型表示不可变的数列,内存占用比普通列表少,range对象实际上并不存储数列的每个值,而是充当迭代器实时计算数列的值。

所以,上面的代码段可以做如下重构。

 

 在Python中,for循环实绩上是for-each循环,可以直接在容器或者序列中迭代元素,无需通过索引查找,那么,上面的代码段还可以重构。

 

 上面的代码不再跟踪容器的大小,也不使用运行时索引来访问元素。

那么如果需要用到项的索引,该怎么办呢?

其实有一种方式既可以让循环持有当前运行的索引,又能避免之前的range(len())模式,需要使用内置enumerate()迭代器改进,迭代器可以返回含有任意个元素的元组,然后再for语句内解包。

 

同样可以使用enumerate()迭代字典的键和值。

 

要是循环必须要有步长呢?

如:for (int i = a; i < n;i += s){

// ...

这里还是可以用到上面讲的range()函数,该函数接受可选参数来控制循环的起始值a,终止值n和步长值s。

 

 

 

总结

以上是生活随笔为你收集整理的【学习笔记】33、具有Python特色的循环的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。