coding180 icon
Coding180
Tuples: Introduction, creation, indexing, slicing, using tuples for multiple return values in functi

Tuples: Introduction, creation, indexing, slicing, using tuples for multiple return values in functi

Home > Tutorials > Python for beginners > Data structure


One of the many essential features of Python is tuples. Tuples are a data structure in Python that can store multiple values. In this article, we will cover everything you need to know about tuples, including their creation, indexing, and slicing. We'll also explore how tuples can be used for multiple return values in functions.

What is a Tuple in Python?

A tuple is an ordered, immutable collection of elements. This means that once a tuple is created, its values cannot be changed. Tuples are similar to lists, which are also collections of elements, but lists are mutable. Tuples are denoted by parentheses, whereas lists use square brackets.

Tuples can include any data type, such as integers, floats, strings, lists, or even other tuples. The order of the elements in a tuple is preserved, so each element can be accessed by its index.

Creating a Tuple

To create a tuple in Python, you use parentheses and separate the values with commas. Here's an example:

my_tuple = (1, 2, 3)

In the above example, we created a tuple called my_tuple that contains the values 1, 2, and 3.

You can also create a tuple without using parentheses. To do this, you separate the values with commas, and Python automatically creates a tuple. Here's an example:

another_tuple = 4, 5, 6

In this example, we created a tuple called another_tuple that contains the values 4, 5, and 6.

Indexing Tuples

Like lists, tuples use indexing to access each element. The index starts at 0 for the first element, 1 for the second element, and so on. You can also use negative indexing to access elements from the end of the tuple. For example:

my_tuple = (1, 2, 3)
print(my_tuple[0]) # Output: 1
print(my_tuple[-1]) # Output: 3

In this example, we access the first element of my_tuple using indexing and print it to the console. We also access the last element using negative indexing.

Slicing Tuples

You can use slicing to access a range of elements in a tuple. Slicing is done by specifying the start and end indices, separated by a colon. Here's an example:

my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[1:4]) # Output: (2, 3, 4)

In this example, we slice my_tuple to get the elements from index 1 to index 3 (not including index 4) and print them to the console.

Using Tuples for Multiple Return Values in Functions

One of the most common uses of tuples in Python is to return multiple values from a function. Since Python functions can only return one value, you can use tuples to pack multiple values into a single object and return that object from the function. Here's an example:

def get_name_and_age():
    name = "Alice"
    age = 25
    return name, age

result = get_name_and_age()
print(result) # Output: ('Alice', 25)

In this example, we define a function called get_name_and_age() that sets two variables and returns them as a tuple. We then call the function and assign its return value to a variable called result. Finally, we print the result variable to the console.

Exercises

Now that you have learned the basics of tuples in Python, here are some exercises for you to practice:

  1. Create a tuple that contains your first name, last name, and age.
  2. Print the second element of the tuple.
  3. Slice the tuple to get the first two elements.
  4. Create a function that takes two arguments (a and b) and returns a tuple containing their sum and difference.

Conclusion

Tuples are an essential data structure in Python that can store multiple values. They are similar to lists but are immutable. You can create a tuple using parentheses and separate the values with commas. Tuples use indexing to access individual elements and slicing to access a range of elements. Tuples are also commonly used for returning multiple values from functions. 


user

Robort Gabriel

Lagos, Nigeria

Freelance Web Developer, Native Android Developer, and Coding Tutor.

Skills
  • UI / UX
  • JavaScript
  • Python
  • PHP
  • Kotlin
  • Java
  • Bootrap
  • Android
  • Laravel