## Usage of [:] and [::] in Python

Giant ship 2020-11-09 22:37:40
usage python

# Python in [:] And [::] Usage of

## summary

[:] And [::] Syntax is a general sequential operation （Common Sequence Operations） Two of them . use [:] or [::] For most sequence types （ Variable or immutable ）（ Such as a string 、 List etc. ） The elements in the sequence are intercepted .

## [:] Usage of

``````s[i:j]
``````

From the subscript i To the subscript j, Intercept sequence s The elements in .

1. If i or j It's a negative number , Then the subscript starts at the end of the sequence , in other words , Subscript i It's equivalent to a subscript len(s)+i, Subscript j It's equivalent to a subscript len(s)+j. in addition ,-0 Is still 0.
2. From sequence s The subscript i The elements of （ contain ） To the subscript j The elements of （ It doesn't contain ） Between all the elements , Intercept . in addition ,i < j.
• if i or j Greater than len(s), be i or j By len(s) replace .
• if i Omit or omit i yes None value , be i By 0 replace .
• if j Omit or omit j yes None value , be j By len(s) replace .
• if i>=j, Returns a sequence without elements .
``````>>> a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[-1:]

>>> a[-9:-1]
[1, 2, 3, 4, 5, 6, 7, 8]
>>> a[1:20]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[:9]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> a[0:]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[9:3]
[]
>>>
``````

## [::] Usage of

``````s[i:j:k]
``````

From the subscript i To the subscript j, The steps are k, Intercept sequence s The elements in .

1. If i or j It's a negative number , Then the subscript starts at the end of the sequence , in other words , Subscript i It's equivalent to a subscript len(s)+i, Subscript j It's equivalent to a subscript len(s)+j. in addition ,-0 Is still 0.
2. From sequence s The subscript i The elements of （ contain ） To the subscript j The elements of （ It doesn't contain ） Between , Select the subscript as i+n*k The elements of （0 <= n < (j-i)/k）, in other words , Select the subscript as i, i+k, i +2*k, i+3*k And so on , Until the subscript is greater than or equal to j until .
• When k Is a positive number , Subscript selection reverses from 0 To len(s)-1.
• When k It's a negative number , Subscript selection reverses from len(s)-1 To 0.
• When i or j Omit or omit None value , Then the end subscript （0 or len(s)-1） replaced （ To be specific, see k The positive and negative signs of ）.
• k Not for 0. if k by None value , Will k as 1.
``````>>> a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[1:10:2]
[1, 3, 5, 7, 9]
>>> a[1:10:3]
[1, 4, 7]
>>> a[1:10:-2]
[]
>>> a[1:10:-3]
[]
>>> a[10:1:-2]
[9, 7, 5, 3]
>>> a[10:1:-3]
[9, 6, 3]
>>> a[::2]
[0, 2, 4, 6, 8]
>>> a[::-2]
[9, 7, 5, 3, 1]
>>> a[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> a[-9:-1:2]
[1, 3, 5, 7]
>>> a[-9:-1:-2]
[]
>>> a[-1:-9:-2]
[9, 7, 5, 3]
>>> a[-1::-2]
[9, 7, 5, 3, 1]
>>> a[:-1:2]
[0, 2, 4, 6, 8]
>>>
``````