Python中如何实现序列反转

在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']

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值