有两种惯用的方法可以做到这一点:
reversed(x) # returns an iterator
要么
x[::-1] # returns a new tuple
在@lvc的注释的基础上,返回的迭代器reversed
将等效于
def myreversed(seq):
for i in range(len(x) - 1, -1, -1):
yield seq[i]
也就是说,它依靠具有已知长度的序列来避免必须实际反转元组。
至于哪种效率更高,我怀疑seq[::-1]
如果您都使用它,并且元组很小,而reversed
当元组很大时,可能就是这样,但是在python中的性能通常令人惊讶,因此进行测量!