Unpacking Tuple Items in Python: Extracting Values from Tuples

thumb_up 1  ·  sell Python tuple unpacking, Extracting values from tuples in Python, Unpacking tuple elements in Python

The term "unpacking" refers to the process of parsing tuple items in individual variables. In Python, the parentheses are the default delimiters for a literal representation of sequence object.

Following statements to declare a tuple are identical.

>>> t1 = (x,y) >>> t1 = x,y >>> type (t1) <class 'tuple'>

Example 1

To store tuple items in individual variables, use multiple variables on the left of assignment operator, as shown in the following example −

 
tup1 = (10,20,30) x, y, z = tup1 print ("x: ", x, "y: ", "z: ",z)

It will produce the following output −

x: 10 y: 20 z: 30

That's how the tuple is unpacked in individual variables.

Using to Unpack a T uple

In the above example, the number of variables on the left of assignment operator is equal to the items in the tuple. What if the number is not equal to the items?

Example 2

If the number of variables is more or less than the length of tuple, Python raises a ValueError.

 
tup1 = (10,20,30) x, y = tup1 x, y, p, q = tup1

It will produce the following output −

  x, y = tup1
  ^^^^
ValueError: too many values to unpack (expected 2)
  x, y, p, q = tup1
  ^^^^^^^^^^
ValueError: not enough values to unpack (expected 4, got 3)

In such a case, the "*" symbol is used for unpacking. Prefix "*" to "y", as shown below −

 
tup1 = (10,20,30) x, *y = tup1 print ("x: ", "y: ", y)

It will produce the following output −

x: y: [20, 30]

The first value in tuple is assigned to "x", and rest of items to "y" which becomes a list.

Example 3

In this example, the tuple contains 6 values and variables to be unpacked are 3. We prefix "*" to the second variable.

 
tup1 = (10,20,30, 40, 50, 60) x, *y, z = tup1 print ("x: ",x, "y: ", y, "z: ", z)

It will produce the following output −

x: 10 y: [20, 30, 40, 50] z: 60

Here, values are unpacked in "x" and "z" first, and then the rest of values are assigned to "y" as a list.

Example 4

What if we add "*" to the first variable?

 
tup1 = (10,20,30, 40, 50, 60) *x, y, z = tup1 print ("x: ",x, "y: ", y, "z: ", z)

It will produce the following output −

x: [10, 20, 30, 40] y: 50 z: 60

Here again, the tuple is unpacked in such a way that individual variables take up the value first, leaving the remaining values to the list "x".

 

 

The End! should you have any inquiries, we encourage you to reach out to the Vercaa Support Center without hesitation.

Was this answer helpful?

Related Articles

description

Exploring Python's Key Characteristic

Python is a feature rich high-level, interpreted, interactive and object-oriented scripting language. This tutorial will list down some of…

arrow_forward
description

Comparing Python and C++

Both Python and C++ are among the most popular programming languages. Both of them have their advantages and disadvantages. In this…

arrow_forward
description

Creating a Python Hello World Program

This tutorial will teach you how to write a simple Hello World program using Python Programming language. This program will make use of…

arrow_forward
description

Python's Versatile Application Domains

Python is a general-purpose programming language. It is suitable for development of wide range of software applications. Over last few…

arrow_forward
description

Understanding the Python Interpreter

Python is an interpreter-based language. In a Linux system, Python's executable is installed in /usr/bin/ directory. For Windows, the…

arrow_forward
arrow_back « Back