Slicing Lists and Tuples in Python
Jump to navigation
Jump to search
Internal
Overview
Slicing means extracting of a section of a list of tuple with the slice notation:
[<start-index>:<end-index>:<step>]
A sub-sequence of a list can be extracted with a slice. The slice [<start-index>:<end-index>:<step>]
specified the index of the last element, and the index of the first element not included in slice, and the step. The step is optional, the default value is 1.
l = ['a', 'b', 'c', 'd', 'e', 'f']
assert ['a', 'b', 'c', 'd', 'e', 'f'] == l[:] # starts from the beginning and ends after the end of the list
assert ['c', 'd'] == l[2:4]
assert ['c'] == l[2:4:2]
The step can be negative, which means the slice starts at the end and goes from right to left.
l = ['a', 'b', 'c', 'd', 'e', 'f']
assert ['f', 'e', 'd', 'c', 'b', 'a'] == l[::-1]
[:]
creates a copy of the list.
l = ['a', 'b', 'c']
l2 = l[:]
l2[0] = 'x'
assert ['a', 'b', 'c'] == l
assert ['x', 'b', 'c'] == l2
Remove the last element of the list:
l = ['a', 'b', 'c']
l2 = l[:-1]
assert ['a', 'b'] == l2
Extract Elements from the Tail of the List Starting with a Certain Index
l = [1, 2, 3]
assert l[0:] == [1, 2, 3]
assert l[1:] == [2, 3]
assert l[2:]== [3]
assert l[3:] == [] # empty list
assert l[4:] == [] # empty list
Extract Elements from the Head of the List Counting from the Tail
TODO