有些时候,程序需要进行反向遍历,此时可通过 reversed() 函数,该函数可接收各种序列(元组、列表、区间等)参数,然后返回一个“反序排列”的法代器,该函数对参数本身不会产生任何影响。
在交互式解释器中,测试该函数的过程如下:
>>>a=range(10) >>>[xforxinreversed(a)] [9,8,7,6,5,4,3,2,1,0]
从上面代码可以看出,通过 reversed() 函数得到了 range(10) 的反转序列;但如果再次访问 a,将会看到 a 并没有发生改变:
>>>a range(0,10)
reversed() 当然也可以对列表、元组进行反转。例如如下测试代码:
>>>b=['a','fkit',20,3.4,50] >>>[xforxinreversed(b)] [50,3.4,20,'fkit','a']
前面提到过,str 其实也是序列,因此也可通过该函数实现在不影响字符串本身的前提下,对字符串进行反序遍历。例如如下测试代码:
>>>c='Hello,Charlie' >>>[xforxinreversed(c)] ['e','i','l','r','a','h','C',',','o','l','l','e','H']