Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Tuple Operations | Other Data Types
Introduction to Python
Section 4. Chapter 5
single

single

bookTuple Operations

Swipe to show menu

While tuples themselves cannot be altered, Python provides operations to create and combine them effectively.

Creation

The tuple() function creates a tuple from an iterable object (strings, sets, lists), allowing for the conversion of lists or other iterables into tuples.

Concatenation

You can join two or more tuples into a new tuple using the + operator, allowing you to combine data sequentially without altering the original tuples.

Note
Note

Remember, that to use tuple methods, like count() and index(), you will need to use dot notation, just as we did with list methods.

Let's explore how we can utilize the tuple constructor, concatenation, and tuple methods in a practical application.

Example Application

Imagine you have lists storing items that went on sale over the past 3 months. You need to convert them to tuples, concatenate the tuples, and then determine how many times an item has been put on sale in the last quarter. You also need to determine the index position to locate the first occurrence of an item.

123456789101112131415161718192021
# Define lists with items that have been put on sale, recording each sale occurrence for different months janSales_list = ["apples", "oranges", "apples"] febSales_list = ["bananas", "oranges", "bananas"] marSales_list = ["apples", "bananas", "apples"] # Convert the lists to tuples to ensure immutability (unchangeable) janSales = tuple(janSales_list) febSales = tuple(febSales_list) marSales = tuple(marSales_list) # Concatenate all monthly sales into a single tuple for the quarter quarterlySales = janSales + febSales + marSales print("Consolidated quarterly sales:", quarterlySales) # Use the `count()` method to determine how many times "apples" have been on sale during the quarter apples_sale_count = quarterlySales.count("apples") print("Apples have been on sale:", apples_sale_count, "times.") # Use the `index()` method to find the first occurrence of "apples" in the quarterly sales first_apple_sale_index = quarterlySales.index("apples") print("The first sale of apples this quarter was at index:", first_apple_sale_index)
copy

Tuple Indexing

You can access individual items in a tuple by using indexing. Each item in a tuple has a specific position, starting from 0 for the first element. To get an item, use square brackets [] with the index number.

Example:

Suppose you have a tuple representing the fruits on a grocery shelf:

grocery_shelf = ("apples", "bananas", "oranges", "grapes")

To access the first item (apples), use index 0:

print(grocery_shelf[0])  # Output: apples

To get the third item (oranges), use index 2:

print(grocery_shelf[2])  # Output: oranges

If you try to use an index that doesn't exist (like 4 in this example), Python will raise an IndexError.

1234567891011121314
# Tuple representing items on a grocery store shelf shelf_items = ("lettuce", "carrots", "milk", "eggs", "bread") # Access the first item using index 0 first_item = shelf_items[0] print("First item on the shelf:", first_item) # Access the third item using index 2 third_item = shelf_items[2] print("Third item on the shelf:", third_item) # Access the last item using negative indexing last_item = shelf_items[-1] print("Last item on the shelf:", last_item)
copy

Tuple Unpacking

Tuple unpacking lets you assign each element from a tuple to its own variable in a single line. This makes your code cleaner and helps you work with grouped data easily.

Suppose you receive a shipment at your grocery shop and the delivery is recorded as a tuple:

shipment = ("bananas", 48, 1.09)  # (item name, quantity, price per unit)

You can unpack the tuple into separate variables like this:

item, quantity, price_per_unit = shipment
print("Item:", item)
print("Quantity:", quantity)
print("Price per unit:", price_per_unit)

Output:

Item: bananas
Quantity: 48
Price per unit: 1.09

This approach helps you quickly access each part of the tuple without using indexes, making your code more readable and less error-prone.

123456789
# Tuple containing (item name, quantity, price per unit) grocery_item = ("lettuce", 3, 1.49) # Unpack the tuple into separate variables item_name, quantity, price_per_unit = grocery_item print("Item:", item_name) print("Quantity:", quantity) print("Price per unit:", price_per_unit)
copy
Task

Swipe to start coding

In this task, you will work with tuples to update a grocery store shelf and extract some information from it.

You are given:

  • A tuple shelf1 — current items on the shelf
  • A list shelf1_update — new items to add

Your goal is to combine them and analyze the result, keeping in mind that tuples cannot be changed directly.

What to do:

  1. Convert the list shelf1_update into a tuple called shelf1_update_tuple.
  2. Combine (concatenate) shelf1_update_tuple with shelf1 and store the result in shelf1_concat.
  3. Count how many times "celery" appears in shelf1_concat and store it in celery_count.
  4. Find the index of the first occurrence of "celery" in shelf1_concat and store it in celery_index.

Output format (print exactly like this):

Updated Shelf #1: <shelf1_concat>
Number of Celery: <celery_count>
Celery Index: <celery_index>

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 4. Chapter 5
single

single

Ask AI

expand

Ask AI

ChatGPT

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

some-alt