Unpacking a Tuple in Python

Python Tuples In python tuples are used to sore immutable object. Python Tuples are very similar to lists except to some situations. Python tuples are immutable means that they can not be modified in whole program.

Packing and Unpacking a Tuple : In Python there is a very powerful tuple assignment feature that assigns right hand side of values into left hand side. In other way it is called unpacking of a tuple of values into a variable. In packing, we put values into a new tuple while in unpacking we extract those values into a single variable.

Example 1



filter_none

edit
close

play_arrow

link
brightness_4
code

# Program to understand about 
# packing and unpacking in Python
  
# this lines PACKS values
# into variable a
a = ("MNNIT Allahabad", 5000, "Engineering")  
  
# this lines UNPACKS values
# of variable a
(college, student, type_ofcollege) = a  
  
# print college name
print(college)
  
# print no of student
print(student)
  
# print type of college
print(type_ofcollege)

chevron_right


Output:

MNNIT Allahabad
5000
Engineering

NOTE : In unpacking of tuple number of variables on left hand side should be equal to number of values in given tuple a.

Python uses a special syntax to pass optional arguments (*args) for tuple unpacking. This means that there can be many number of arguments in place of (*args) in python. All values will be assigned to every variable on left hand side and all remaining values will be assigned to *args .For better understanding consider the following code.
Example 2

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to study about
# unpacking python tuple using *
  
# first and last will be assigned to x and z
# remaining will be assined to y
x, *y, z = (10, "Geeks ", " for ", "Geeks ", 50)
  
# print details
print(x)
print(y)
print(z)
  
# first and second will be assigned to x and y
# remaining will be assined to z
x, y, *z = (10, "Geeks ", " for ", "Geeks ", 50)
print(x)
print(y)
print(z)

chevron_right


Output:

10
['Geeks ', ' for ', 'Geeks ']
50
10
Geeks 
[' for ', 'Geeks ', 50]

In python tuples can be unpacked using a function in function tuple is passed and in function values are unpacked into normal variable. Consider the following code for better understanding.
Example 3 :

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to study about
# unpacking python tuple using function
  
# function takes normal arguments
# and multiply them
def result(x, y):
    return x * y
# function with normal variables
print (result(10, 100))
  
# A tuple is created
z = (10, 100)
  
# Tuple is passed
# function unpacked them
  
print (result(*z))

chevron_right


Output:

1000
1000


My Personal Notes arrow_drop_up

All powers are within you You can do anything and everything Believe in that

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

4


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.