Tutorials
python

# Tuples in Python

Tuples are made of several items, just like a list, but they cannot be modified in any way. They are widely used internally in many of the systems we depend on, like databases. Tuples hold data in the order we supply it, and we can access the elements inside a tuple with an index.

For example, if you have a tuple like ('chocolate chip cookies', 15) and you want to access each part of the data, you can use an index just like a list. Tuples are easier to process and more memory efficient than lists.

They are immutable, which means we cannot add or remove elements from them. This property of tuple is important because we can use them to ensure that our data is not altered. We can create tuples by pairing up elements.

## Zipping

Often, we will have lists where we want to match up elements into pairs, and the zip function enables us to do that. Tuples are commonly created by zipping lists together with zip().

### Example

Here we have a list of most popular cookies in the US and India, and we want to build a list of pairs by the popularity rank of the cookie in each country, and we will pass them to the zip function. Then we print the result of the zip, and you get what looks like a list of Tuples.

We have two lists: us_cookies, in_cookies.

Notice that the tuples use parenthesis as their object representation.

## Unpacking

Tuple unpacking, also sometimes called tuple expansion, allows us to assign the elements of a tuple to named variables for later use. Unpacking tuples is a very expressive way of working with data.

### Example

The below syntax allows you to create a more readable and less error-prone code. Here we have a tuple containing top-ranked cookie from two countries, and we want to store them as us_num_1 and in_num_1 so that we can print them name by name.

We start by putting both variables as the target of the assignment statement separated by a comma. Then assign the first tuple in our top_pairs list to them.

### Example

Here we build a for loop that uses tuple unpacking when iterating over the top_pairs list. It splits each tuple in the list into its Indian and US cookie elements. We then use each of these variables to print the cookies in order.

## Enumerating Positions

Another useful tuple creation method is the enumerate() function. Enumeration is used in loops to return the position and the data in that position while looping.

### Example

Here we enumerate our top pairs list and split that resulting tuple into index idx and item.