• Python翻转字符串或者列表的方式


    1. reversed

    class reversed(object)
     |  reversed(sequence) -> reverse iterator over values of the sequence
     |  
     |  Return a reverse iterator
     |  
     |  Methods defined here:
     |  
     |  __getattribute__(...)
     |      x.__getattribute__('name') <==> x.name
     |  
     |  __iter__(...)
     |      x.__iter__() <==> iter(x)
     |  
     |  __length_hint__(...)
     |      Private method returning an estimate of len(list(it)).
     |  
     |  next(...)
     |      x.next() -> the next value, or raise StopIteration
     |  
     |  ----------------------------------------------------------------------
     |  Data and other attributes defined here:
     |  
     |  __new__ = <built-in method __new__ of type object>
     |      T.__new__(S, ...) -> a new object with type S, a subtype of T
    

    处理的对象是可迭代对象,返回值是一个迭代器,所以可以处理string list 等,如下:

    In [54]: reversed([1,2,3])                                                                                                                                                                        
    Out[54]: <listreverseiterator at 0x7f835810c190>
    
    In [55]: reversed('123')                                                                                                                                                                          
    Out[55]: <reversed at 0x7f835810c2d0>
    
    In [56]: type(reversed('123'))
    Out[56]: reversed
    
    In [57]: for i in reversed('123'):
       ....:     print i
       ....:     
    3
    2
    1
    

    PS: list内置__reversed__()方法实现的功能和此类似,使用方法见2

    2. reverse

    reverse是list内置的一个方法,所以只能对list使用,如下:

    In [62]: l = [1, 2, 3]                                                                                                                                                                            
    
    In [63]: l.reverse()
    
    In [64]: l
    Out[64]: [3, 2, 1]
    

    __reversed__()

    In [65]: l.__reversed__()
    Out[65]: <listreverseiterator at 0x7f835810ca90>
    
    In [66]: for i in l.__reversed__():                                                                                                                                                               
       ....:     print i
       ....:     
    1
    2
    3
    

    3. 切片

    最简单的一种方法了,可以对string和list使用

    In [73]: s
    Out[73]: 'i am a student.'
    
    In [74]: s[::-1]
    Out[74]: '.tneduts a ma i'
    
    In [75]: l
    Out[75]: [3, 2, 1]
    
    In [76]: l[::-1]
    Out[76]: [1, 2, 3]
    
  • 相关阅读:
    常见字体图标库——font-awesome
    windows server 2012显示桌面图标
    SE 2014年4月14日
    SE 2014年4月13日
    PPP协议总结
    SE 2014年4月12日
    django运行时报错
    linux-python在vim下的自动补全功能
    python发邮件
    背景透明兼容
  • 原文地址:https://www.cnblogs.com/wswang/p/5775942.html
Copyright © 2020-2023  润新知