DEV Community

Super Kai (Kazuya Ito)
Super Kai (Kazuya Ito)

Posted on • Edited on

Tuple in Python (5)

Buy Me a Coffee

*Memo:

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's 1.
      • It cannot be zero.
      • Don't use end=.
    • The [] with at least one : is slicing.
    • start and end can 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).
    • [index][slice] can be used.

<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[-8: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]) # () 
Enter fullscreen mode Exit fullscreen mode

<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') 
Enter fullscreen mode Exit fullscreen mode

<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',) 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)