有两种惯用的方法可以做到这一点:
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中的性能通常令人惊讶,因此进行测量!



