DEV Community

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

Posted on • Edited on

List in Python (5)

Buy Me a Coffee

*Memo:

A list 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 list 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 list length).
  • Indexing and slicing can be used together.

<1D list>:

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

<2D list>:

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 list>:

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)