Tuple unpacking helps you take values from a group and put them into separate boxes (variables) easily.
Tuple unpacking in Python
Start learning this pattern below
Jump into concepts and practice - no test required
or
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
Syntax
Python
a, b = (1, 2)
You write variables on the left separated by commas, and a tuple or list on the right.
The number of variables must match the number of values in the tuple or list.
Examples
Python
x, y = (10, 20)
Python
name, age = ['Alice', 30]
Python
a, b = b, a
Python
first, *rest = (1, 2, 3, 4)
Sample Program
This program gets a point as a tuple, unpacks it into x and y, prints them, then swaps their values and prints again.
Python
def get_point(): return (4, 5) x, y = get_point() print(f"x = {x}") print(f"y = {y}") # Swap example x, y = y, x print(f"After swap: x = {x}, y = {y}")
Important Notes
If the number of variables and values don't match, Python will give an error.
You can use * to collect multiple values into a list during unpacking.
Summary
Tuple unpacking lets you assign multiple values to variables in one line.
It works with tuples, lists, and other iterable groups.
It makes code cleaner and easier to read when handling multiple values.
Practice
1. What does tuple unpacking do in Python?
a, b = (1, 2)easy
Solution
Step 1: Understand tuple unpacking syntax
The codea, b = (1, 2)assigns the first value 1 to variable a and the second value 2 to variable b.Step 2: Confirm the assignment
After unpacking, a equals 1 and b equals 2, which matches the tuple elements.Final Answer:
Assigns 1 to a and 2 to b in one line -> Option DQuick Check:
Tuple unpacking = Assign values [OK]
Hint: Match variables to tuple elements in order [OK]
Common Mistakes:
- Thinking it creates a tuple instead of unpacking
- Confusing unpacking with swapping
- Expecting an error from correct syntax
2. Which of the following is the correct syntax for tuple unpacking in Python?
easy
Solution
Step 1: Check each option for valid unpacking syntax
a, b = [1, 2 "a, b = [1, 2" is missing closing bracket, syntax error. (a, b = 1, 2 "(a, b = 1, 2" has mismatched parentheses, syntax error. a = (1, 2) = b "a = (1, 2) = b" is invalid syntax. Only B is correct.Step 2: Identify the best tuple unpacking syntax
a, b = (1, 2) clearly shows tuple unpacking with a tuple on the right and variables on the left, which is the most correct and clear syntax.Final Answer:
a, b = (1, 2) -> Option BQuick Check:
Tuple unpacking syntax = a, b = (1, 2) [OK]
Hint: Look for variables on left, tuple on right [OK]
Common Mistakes:
- Forgetting closing bracket when using lists
- Mismatched parentheses on left side
- Using invalid assignment chaining
3. What is the output of this code?
point = (4, 5) x, y = point print(x + y)
medium
Solution
Step 1: Unpack the tuple into variables
The tuple(4, 5)is unpacked intox = 4andy = 5.Step 2: Calculate the sum of x and y
Addingx + ygives4 + 5 = 9.Final Answer:
9 -> Option AQuick Check:
4 + 5 = 9 [OK]
Hint: Add unpacked variables directly [OK]
Common Mistakes:
- Printing the tuple instead of sum
- Concatenating numbers as strings
- Expecting a syntax error
4. Find the error in this tuple unpacking code:
data = (1, 2, 3) a, b = data print(a, b)
medium
Solution
Step 1: Count values and variables
The tupledatahas 3 values but only 2 variablesaandbare on the left side.Step 2: Understand unpacking rules
Python requires the number of variables to match the number of values unless using a starred expression. Here, 3 values cannot fit into 2 variables, causing a ValueError.Final Answer:
Too many values to unpack -> Option AQuick Check:
Mismatch in values and variables = Error [OK]
Hint: Count variables and values before unpacking [OK]
Common Mistakes:
- Ignoring value-variable count mismatch
- Expecting Python to auto-fill missing variables
- Using wrong error type
5. Given a list of tuples representing points, how do you unpack and sum all x and y values?
Which line correctly unpacks the tuple inside the loop?
points = [(1, 2), (3, 4), (5, 6)]
total_x = 0
total_y = 0
for point in points:
# Fill in unpacking here
total_x += x
total_y += y
print(total_x, total_y)Which line correctly unpacks the tuple inside the loop?
hard
Solution
Step 1: Understand the loop variable
Eachpointis a tuple like(1, 2). To access x and y, unpack it into variablesxandy.Step 2: Choose correct unpacking syntax
The correct syntax isx, y = point. This assigns the first element to x and second to y for each tuple in the list.Final Answer:
x, y = point -> Option CQuick Check:
Unpack tuple with x, y = point [OK]
Hint: Unpack tuple directly with x, y = point [OK]
Common Mistakes:
- Assigning tuple to variables in wrong order
- Using list brackets incorrectly
- Trying to unpack list instead of tuple
