Python倒序循环那些事儿

作者: CC思SS | 来源:发表于2018-09-11 06:50 被阅读11次

用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停止。

相关文章

网友评论

    本文标题:Python倒序循环那些事儿

    本文链接:https://www.haomeiwen.com/subject/srlygftx.html