Course Content
Intermediate Python Techniques
Intermediate Python Techniques
Unpacking
Unpacking is a powerful and versatile concept. This feature allows you to extract values from various iterable data structures, such as tuples, lists, dictionaries, ranges, and even strings. The opposite action is packing. Often, these two concepts are used together simultaneously. Let's break down the topic step by step.
First of all, let's compare unpacking and packing.
Python can both pack and unpack values from iterables in a single assignment. To perform packing, use the *
iterable unpacking operator before the variable name.
# unpacking a, b, c = (1, 2, 3) # a = 1, b = 2, c = 3 print(f"a = {a}, b = {b}, c = {c}") # packing a, b, *c = 1, 2, 3, 4, 5 # a = 1, b = 2, c = [3, 4, 5] print(f"a = {a}, b = {b}, c = {c}")
You will encounter errors if you attempt to unpack a different no of values than variables.
a, b = 1, 2, 3 # ValueError: too many values to unpack a, b, c, d = 1, 2, 3 # ValueError: not enough values to unpack
The value on the right side can be a tuple, list, generator, range, dictionary, set, or string. Let's explore each of these with examples.
Note
All values that are written in one line and separated by commas but without parentheses are one tuple. 1, 2, 3 same as (1, 2, 3)
The set is an unordered collection of data.
Swipe to show code editor
Let's practice a little bit.
-
There is a tuple and you need to unpack it as in the example above.
-
Use the
name, age, career
variables. -
Print it out to see the result.
Click the button below the code to check solution.
Thanks for your feedback!
Unpacking
Unpacking is a powerful and versatile concept. This feature allows you to extract values from various iterable data structures, such as tuples, lists, dictionaries, ranges, and even strings. The opposite action is packing. Often, these two concepts are used together simultaneously. Let's break down the topic step by step.
First of all, let's compare unpacking and packing.
Python can both pack and unpack values from iterables in a single assignment. To perform packing, use the *
iterable unpacking operator before the variable name.
# unpacking a, b, c = (1, 2, 3) # a = 1, b = 2, c = 3 print(f"a = {a}, b = {b}, c = {c}") # packing a, b, *c = 1, 2, 3, 4, 5 # a = 1, b = 2, c = [3, 4, 5] print(f"a = {a}, b = {b}, c = {c}")
You will encounter errors if you attempt to unpack a different no of values than variables.
a, b = 1, 2, 3 # ValueError: too many values to unpack a, b, c, d = 1, 2, 3 # ValueError: not enough values to unpack
The value on the right side can be a tuple, list, generator, range, dictionary, set, or string. Let's explore each of these with examples.
Note
All values that are written in one line and separated by commas but without parentheses are one tuple. 1, 2, 3 same as (1, 2, 3)
The set is an unordered collection of data.
Swipe to show code editor
Let's practice a little bit.
-
There is a tuple and you need to unpack it as in the example above.
-
Use the
name, age, career
variables. -
Print it out to see the result.
Click the button below the code to check solution.
Thanks for your feedback!