python中可迭代对象反转

1、字符串反转

>>> a = "839574"
>>> reversed(a)
<reversed object at 0x00000215CACA0D60>
>>> for i in reversed(a):   ## reversed反转为迭代器对象
    print(i,end = ";")

    
4;7;5;9;3;8;
>>> a
'839574'
>>> a.reverse()   ## 字符串不能都就地反转
Traceback (most recent call last):
  File "<pyshell#381>", line 1, in <module>
    a.reverse()
AttributeError: 'str' object has no attribute 'reverse'
>>> b = a[::-1]   ## 利用分片可以实现反转
>>> b
'475938'

2、列表反转

>>> a = [8,3,7,9,2,5]
>>> reversed(a)
<list_reverseiterator object at 0x000001EE1E580D60>
>>> for i in reversed(a):   ## reversed返回迭代器对象
    print(i,end = ":")

    
5:2:9:7:3:8:
>>> a
[8, 3, 7, 9, 2, 5]
>>> a.reverse()  ## reverse实现就地反转
>>> a
[5, 2, 9, 7, 3, 8]
>>> b = a[::-1]   ## 利用分片进行反转
>>> b
[8, 3, 7, 9, 2, 5]

3、元组反转

>>> a = (5,9,4,8,3,7)
>>> reversed(a)
<reversed object at 0x0000021508370D30>
>>> for i in reversed(a):   ## reversed返回迭代器对象
    print(i,end = ",")

    
7,3,8,4,9,5,
>>> a.reverse()   ## 元组不能够实现就地反转
Traceback (most recent call last):
  File "<pyshell#408>", line 1, in <module>
    a.reverse()
AttributeError: 'tuple' object has no attribute 'reverse'
>>> a
(5, 9, 4, 8, 3, 7)
>>> a[::-1]   ## 利用分片进行反转
原文地址:https://www.cnblogs.com/liujiaxin2018/p/14447610.html