Slicing and Unpacking
Slicing
lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(lst[2:5]) # [2, 3, 4]
print(lst[:3]) # [0, 1, 2]
print(lst[7:]) # [7, 8, 9]
print(lst[::2]) # [0, 2, 4, 6, 8] (step)
print(lst[::-1]) # reversedUnpacking
first, *rest = [1, 2, 3, 4, 5]
print(first) # 1
print(rest) # [2, 3, 4, 5]
*start, last = [1, 2, 3, 4, 5]
a, b, *c, d = [1, 2, 3, 4, 5, 6]Swap
a, b = 1, 2
a, b = b, a # swap without temp