Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Advanced Packing and Unpacking Patterns | Packing and Unpacking in Python
Functional Programming Concepts in Python

bookAdvanced Packing and Unpacking Patterns

Swipe to show menu

Extended unpacking in Python allows you to capture multiple elements from a sequence into a single variable using the * operator. This technique is especially useful when you want to assign the first and last elements to specific variables and collect the remaining elements in between.

Note
Note

The * operator tells Python to collect any remaining elements that have not been assigned to other variables.

123456
numbers = [1, 2, 3, 4, 5] first_val, *middle_vals, last_val = numbers print("first_val:", first_val) print("*middle_vals:", middle_vals) print("last_val:", last_val)
copy

In this case *middle_vals captures all elements between the first and last, so middle_vals , becomes [2, 3, 4].

In the assignment:

a, *b, c = [1, 2, 3, 4, 5]

  • The variable a receives the first value;
  • c receives the last;
  • b gathers all the values in between.

This approach makes your code more flexible and expressive, especially when dealing with sequences of unknown or variable length. Extended unpacking is not limited to lists; it works with any iterable, including tuples and even strings. By mastering these patterns, you can write cleaner, more readable code that adapts easily to changes in data structure.

question mark

What does the *c variable capture in the assignment a, b, *c = [1, 2, 3, 4, 5]?

Select the correct answer

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 1. Chapter 5

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Section 1. Chapter 5
some-alt