reversed()内置函数
|
|
reversed()函数的Python等价实现代码:1234567def reversed(seq): if hasattr(seq, 'keys'): raise ValueError('mappings do not support reverse iteration') i = len(seq) while i > 0: i -= 1 yield seq[i]
注意,zip()
、enumerate()
、reversed()
这三个内置函数(其实是类的构造方法)分别解决了三个基本的循环问题:并行迭代、计数迭代、反序迭代。
[::-1]扩展切片
|
|
range(len(seq)-1, -1, -1)
|
|
也可以用reversed()简明的替换上面语句:123for i in reversed(range(len(seq))): elem = seq[i] print(elem) # do something with elem
注意,在Python2中xrange返回的是迭代器,所以如在Python2中,迭代时用xrange取代range(迭代本就不需要先返回一个完整的列表)。
列表的reverse()方法
|
|