Skip to main content
The 2026 Annual Developer Survey is live— take the Survey today!
Fix error
Source Link
Mateen Ulhaq

L[x::y] means a slice of L where the x is the index to start from and y is the step size. Here are some examples you can try in the interpreter

>>> L=range(20)
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

If you want every 3rd element

>>> L[::3]
[0, 3, 6, 9, 12, 15, 18]

Now every third element starting from L[1]

>>> L[1::3]
[1, 4, 7, 10, 13, 16, 19]

Now every third element starting from L[2]

>>> L[2::3]
[2, 5, 8, 11, 14, 17]

You can specify a negative step to go backwards

>>> L[::-1]
[19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]1, 0]

You can also assign to this slice, but the value must have the same length as the slice you are replacing

>>> L[::3]=[0,0,0,0,0,0,0]
>>> L
[0, 1, 2, 0, 4, 5, 0, 7, 8, 0, 10, 11, 0, 13, 14, 0, 16, 17, 0, 19]

Finally, you can delete every 3rd element like this

>>> del L[::3]
>>> L
[1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19]

L[x::y] means a slice of L where the x is the index to start from and y is the step size. Here are some examples you can try in the interpreter

>>> L=range(20)
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

If you want every 3rd element

>>> L[::3]
[0, 3, 6, 9, 12, 15, 18]

Now every third element starting from L[1]

>>> L[1::3]
[1, 4, 7, 10, 13, 16, 19]

Now every third element starting from L[2]

>>> L[2::3]
[2, 5, 8, 11, 14, 17]

You can specify a negative step to go backwards

>>> L[::-1]
[19, 17, 16, 14, 13, 11, 10, 8, 7, 5, 4, 2, 1]

You can also assign to this slice, but the value must have the same length as the slice you are replacing

>>> L[::3]=[0,0,0,0,0,0,0]
>>> L
[0, 1, 2, 0, 4, 5, 0, 7, 8, 0, 10, 11, 0, 13, 14, 0, 16, 17, 0, 19]

Finally, you can delete every 3rd element like this

>>> del L[::3]
>>> L
[1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19]

L[x::y] means a slice of L where the x is the index to start from and y is the step size. Here are some examples you can try in the interpreter

>>> L=range(20)
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

If you want every 3rd element

>>> L[::3]
[0, 3, 6, 9, 12, 15, 18]

Now every third element starting from L[1]

>>> L[1::3]
[1, 4, 7, 10, 13, 16, 19]

Now every third element starting from L[2]

>>> L[2::3]
[2, 5, 8, 11, 14, 17]

You can specify a negative step to go backwards

>>> L[::-1]
[19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

You can also assign to this slice, but the value must have the same length as the slice you are replacing

>>> L[::3]=[0,0,0,0,0,0,0]
>>> L
[0, 1, 2, 0, 4, 5, 0, 7, 8, 0, 10, 11, 0, 13, 14, 0, 16, 17, 0, 19]

Finally, you can delete every 3rd element like this

>>> del L[::3]
>>> L
[1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19]
Source Link
John La Rooy

L[x::y] means a slice of L where the x is the index to start from and y is the step size. Here are some examples you can try in the interpreter

>>> L=range(20)
>>> L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

If you want every 3rd element

>>> L[::3]
[0, 3, 6, 9, 12, 15, 18]

Now every third element starting from L[1]

>>> L[1::3]
[1, 4, 7, 10, 13, 16, 19]

Now every third element starting from L[2]

>>> L[2::3]
[2, 5, 8, 11, 14, 17]

You can specify a negative step to go backwards

>>> L[::-1]
[19, 17, 16, 14, 13, 11, 10, 8, 7, 5, 4, 2, 1]

You can also assign to this slice, but the value must have the same length as the slice you are replacing

>>> L[::3]=[0,0,0,0,0,0,0]
>>> L
[0, 1, 2, 0, 4, 5, 0, 7, 8, 0, 10, 11, 0, 13, 14, 0, 16, 17, 0, 19]

Finally, you can delete every 3rd element like this

>>> del L[::3]
>>> L
[1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19]
lang-py