Unpacking and Packing
Unpacking
(a, b, c) = (1, 2, 3) # a = 1, b = 2, c = 3
# Following syntaxes are equivalent to the first one
(a, b, c) = 1, 2, 3
a, b, c = (1, 2, 3)
a, b, c = 1, 2, 3
a, b, c = "123" # a = "1", b = "2", c = "3"
a, b, c = [1, 2, 3] # a = 1, b = 2, c = 3
a, b, c = range(3) # a = 0, b = 1, c = 2
a, b, c = {1, 2, 3} # a = 1, b = 2, c = 3
a, b, c = {3, 2, 1} # a = 1, b = 2, c = 3
my_dict = {"one": 1, "two": 2, "three": 3}
a, b, c = my_dict # a = "one", b = "two", c = "three"
a, b, c = my_dict.values() # a = 1, b = 2, c = 3
a, b, c = my_dict.items() # a = ("one", 1), b = ("two", 2), c = ("three", 3)
[a, b, c] = 1, 2, 3 # a = 1, b = 2, c = 3
[a, b, c] = "123" # a = "1", b = "2", c = "3"
Packing
a, b, *c = 1, 2, 3 # a = 1, b = 2, c = [3]
a, b, *c = 1, 2, 3, 4, 5 # a = 1, b = 2, c = [3, 4, 5]
a, *b, c = 1, 2, 3, 4, 5 # a = 1, b = [2, 3, 4], c = 5
a, b, *c = 1, 2 # a = 1, b = 2, c = []
a, *c, b = 1, 2 # a = 1, b = 2, c = []
*a, b = 1, 2, 3 # a = [1, 2], b = 3
Swaping
Unnecessary values: