版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jerry_1126/article/details/85196637
在Python中如果是序列为列表的话,可以使用内置reversed或者reverse来反转一个序列,前者不会改变顺序,后者会改变顺序。
使用reverse实现列表反转
>>> L = ["A", "B", "C", "D"]
>>> L.reverse() # 使用reverse来反转一个列表
>>> L # 反转后,列表本身顺序发生改变
['D', 'C', 'B', 'A']
>>> for item in L: # 对反转后的列表进行操作
... print(item)
D
C
B
A
>>> L.reverse() # 再次对列表进行操作,将其顺序变回来
>>> L
['A', 'B', 'C', 'D']
使用reversed实现列表反转
>>> L = ["A", "B", "C", "D"]
>>> for item in reversed(L): # 使用reversed来反转一个列表并操作
... print(item)
D
C
B
A
>>> L # 反转后创建一个新对象,不修改原来列表
['A', 'B', 'C', 'D']
使用range(len(seq)-1, -1, -1)实现序列反转
>>> s = "ABCD"
>>> for i in range(len(s)-1, -1, -1):
... print(s[i])
D
C
B
A
>>> s
'ABCD'
备注: 使用上面的方法来反转序列,但速度较慢,效率较低。
使用seq[::-1]来反转一个序列
>>> S = "ABCD"
>>> for i in S[::-1]:
... print(i)
D
C
B
A
>>> S
'ABCD'
>>> L = ["A", "B", "C", "D"]
>>> for i in L[::-1]:
... print(i)
D
C
B
A
>>> L
['A', 'B', 'C', 'D']