在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\']
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。


