Python倒序循环那些事儿

用Python进行遍历时,一般都在一个列表或string里用for loop从左往右进行循环,但有时出于算法的考虑,我们需要从右往左遍历。这时候就是reversed loop派上用场了。根据loop对象不同,主要有三种情况:

  1. 直接用内嵌函数reversed(list)
for i in reversed(list obj)
  1. 用列表对象的索引index定位
n = len(list)
for i in list[::-1]

这里的两个冒号其实是省略了两个参数,完整形式是:

n = len(list)
for i in list[n-1::-1]

特别要注意第二个冒号前的那个缺省值,如果什么都不填,则一直遍历到列表的index=0的位置;如果填0,则默认一直遍历到列表的index =1的位置,如果填1,则默认一直遍历到列表的index =2的位置,依次往后。
而第一个冒号前的那个缺省值,默认是从index = n-1的位置(列表末位)开始数起,填几就从第几号索引开始。甚至可以填比n-1大的值,但是也还是从最后一位开始遍历。

  1. 用range()写法
for i in range(n, m, -1)

即从n值开始倒数,一直数到m+1停止。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,949评论 0 38
  • 我不想当一名所谓的设计师,我想远离我现在的环境,我设计不了环境,我拜托不了低级,我成为不了一个高尚的人。 每回和父...
    东篱HIP阅读 195评论 0 0
  • just 17and 106 disappointed
    姑娘醒醒吧阅读 310评论 0 0