*Memo:
- My post explains a tuple (1).
- My post explains a tuple (2).
- My post explains a tuple (3).
- My post explains a tuple (4).
- My post explains a tuple (6).
A tuple can be read by slicing as shown below:
*Memo:
- Slicing can be done with one or more
[start:end:step]in the range[start, end):-
start(Optional-Default:None-Type:int/NoneType):- It's a start index(inclusive).
- If it's
None, it's the 1st index. - Don't use
start=.
-
end(Optional-Default:None-Type:int/NoneType):- It's an end index(exclusive).
- If it's
None, it's the tuple length. - Don't use
end=.
-
step(Optional-Default:None-Type:int/NoneType):- It's the interval of indices.
- If it's
None, it's1. - It cannot be zero.
- Don't use
end=.
- The
[]with at least one:is slicing. -
startandendcan be signed indices(zero and positive and negative indices). - Error doesn't occur even if
[start, end)is out of the range[The 1st index, The tuple length).
-
- Indexing and slicing can be used together.
<1D tuple>:
v = ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H')
print(v[:])
print(v[::])
print(v[None:None:None])
print(v[0:8:1])
print(v[-100:100:1])
# ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H')
print(v[::2])
# ('A', 'C', 'E', 'G')
print(v[::-2])
# ('H', 'F', 'D', 'B')
print(v[2:])
print(v[-6:])
print(v[2::])
print(v[-6::])
# ('C', 'D', 'E', 'F', 'G', 'H')
print(v[2::2])
print(v[-6::2])
# ('C', 'E', 'G')
print(v[2::-2])
print(v[-6::-2])
# ('C', 'A')
print(v[:6])
print(v[:-2])
print(v[:6:])
print(v[:-2:])
# ('A', 'B', 'C', 'D', 'E', 'F')
print(v[:6:2])
print(v[:-2:2])
# ('A', 'C', 'E')
print(v[:6:-2])
print(v[:-2:-2])
# ('H',)
print(v[2:6])
print(v[-6:-2])
print(v[2:6:])
print(v[-6:-2:])
# ('C', 'D', 'E', 'F')
print(v[2:6:2])
print(v[-6:-2:2])
# ('C', 'E')
print(v[2:6:-2])
print(v[-6:-2:-2])
# ()
<2D tuple>:
v = (('A', 'B', 'C', 'D'), ('E', 'F', 'G', 'H'))
print(v[:])
print(v[::])
print(v[:][:])
print(v[::][::])
# (('A', 'B', 'C', 'D'), ('E', 'F', 'G', 'H'))
print(v[0][:])
print(v[0][::])
print(v[-2][:])
print(v[-2][::])
# ('A', 'B', 'C', 'D')
print(v[0][::2])
print(v[-2][::2])
# ('A', 'C')
print(v[0][::-2])
print(v[-2][::-2])
# ('D', 'B')
print(v[1][:])
print(v[1][::])
print(v[-1][:])
print(v[-1][::])
# ('E', 'F', 'G', 'H')
print(v[1][::2])
print(v[-1][::2])
# ('E', 'G')
print(v[1][::-2])
print(v[-1][::-2])
# ('H', 'F')
<3D tuple>:
v = ((('A', 'B'), ('C', 'D')), (('E', 'F'), ('G', 'H')))
print(v[:])
print(v[::])
print(v[:][:])
print(v[::][::])
print(v[:][:][:])
print(v[::][::][::])
# ((('A', 'B'), ('C', 'D')), (('E', 'F'), ('G', 'H')))
print(v[0][:])
print(v[0][::])
print(v[-2][:])
print(v[-2][::])
# (('A', 'B'), ('C', 'D'))
print(v[1][:])
print(v[1][::])
print(v[-1][:])
print(v[-1][::])
# (('E', 'F'), ('G', 'H'))
print(v[0][0][:])
print(v[0][0][::])
print(v[-2][-2][:])
print(v[-2][-2][::])
# ('A', 'B')
print(v[0][0][::2])
print(v[-2][-2][::2])
# ('A',)
print(v[0][0][::-2])
print(v[-2][-2][::-2])
# ('B',)
print(v[0][1][:])
print(v[0][1][::])
print(v[-2][-1][:])
print(v[-2][-1][::])
# ('C', 'D')
print(v[0][1][::2])
print(v[-2][-1][::2])
# ('C',)
print(v[0][1][::-2])
print(v[-2][-1][::-2])
# ('D',)
print(v[1][0][:])
print(v[1][0][::])
print(v[-1][-2][:])
print(v[-1][-2][::])
# ('E', 'F')
print(v[1][0][::2])
print(v[-1][-2][::2])
# ('E',)
print(v[1][0][::-2])
print(v[-1][-2][::-2])
# ('F',)
print(v[1][1][:])
print(v[1][1][::])
print(v[-1][-1][:])
print(v[-1][-1][::])
# ('G', 'H')
print(v[1][1][::2])
print(v[-1][-1][::2])
# ('G',)
print(v[1][1][::-2])
print(v[-1][-1][::-2])
# ('H',)
Top comments (0)