What does the slice() function do in Python?

后端 未结 4 1040
轻奢々
轻奢々 2020-12-02 18:52

First of all, I\'d like to clarify the question: it\'s about the slice() function, not slices of lists or strings like a[5:4:3].

The docs menti

4条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-02 19:14

    (Using function semantics) Calling the slice class instantiates a slice object (start,stop,step), which you can use as a slice specifier later in your program:

    >>> myname='Rufus'
    >>> myname[::-1] # reversing idiom
    'sufuR'
    
    >>> reversing_slice=slice(None,None,-1) # reversing idiom as slice object
    >>> myname[reversing_slice]
    'sufuR'
    
    >>> odds=slice(0,None,2) # another example
    >>> myname[odds]
    'Rfs'
    

    If you had a slice you often used, this is preferable to using constants in multiple program areas, and save the pain of keeping 2 or 3 references that had to be typed in each time.

    Of course, it does make it look like an index, but after using Python a while, you learn that everything is not what it looks like at first glance, so I recommend naming your variables better (as I did with reversing_slice, versus odds which isn't so clear.

提交回复
热议问题