Topics

Tuples in Python

Welcome to another tutorial, here you will learn about tuples. Tuples are quite similar to Lists; they can simply be referred to as a sequence of data.

In addition, tuples are different from lists because they are Immutable, that is, the data located in a tuple cannot be modified, which is contrary to lists.

 

Defining a Tuple

During coding, you can define a tuple by assigning a single variable with multiple values separated by commas, and that variable is known as a Tuple.

>>> myTuple = 1, 2, 3, 4

Now, for Printing data

>>> print (myTuple);

Output:

(1,2,3,4)

 

From the example above, the variable myTuple is a collection of integers i.e. 1,2,3, and 4. More so, the circular brackets that appear around the integers while printing is what distinguishes a tuple from a list. As you already know, a list has square brackets around them.

In addition, one can add data of different types in a single tuple. Check out the example below:

>>> secondTuple = 1, 2, "TutorialWithExample", 4
>>> print (secondTuple);

Output:

(1, 2, "TutorialWithExample", 4)

 

You can as well create an empty tuple by using the tuple() function or by just using an empty bracket ( ).

>>> emptyTuple = ();
>>> anotherEmptyTuple = tuple();

The statement written above is used to create tuples with no element inside them, as the compiler will know that an empty tuple and anotherTuple are tuples with no elements.

 

Indexing in Tuples

To Index in tuples, the first element has an index of zero, and increases for the next consecutive elements, this is quite similar to indexing in lists. In addition, backward indexing is applicable in tuples, this means that the last elements can be accessed using the index ‘-1’ and the subsequent ones. Check out the example below.

>>> example = "BMW M5", "Mercedes-Benz E-Class", "Audi Q7", "BMW X3", "Mercedes-Benz B-Class"
>>> print (example[0]);

Output:

'BMW M5'

 

The table below shows the tuple element for forwarding and backward indexing.

ValueForward IndexingBackward Indexing
BMW M50-5
Mercedes-Benz E-Class1-4
Audi Q72-3
BMW X33-2
Mercedes-Benz B-Class4-1

 

 

Adding Elements to a Tuple

Earlier, you learned that tuples are immutable, as such any data stored in it cannot be edited, but additional data can be added to a tuple. This can be done by using the addition operator. Check out the example below:

>>> t = (1, 2, 3, 4, 5)

Suppose, there is a need to add another element, say 6 to the tuple; this is shown below.

>>> t = t + (6,)

From above, we used the addition operator to add 6 to the tuple t.

>>> print (t);

Output:

(1,2,3,4,5,6)

 

Therefore, any kind of element can be added to a tuple by using the + operator.

Do you know we can also use the + operator to combine two tuples? Check out the example below.

>>> print ((1, 2, 5, 8) + (2, 9, 4));

Output:

(1,2,5,8,2,9,4)

 

Deleting a Tuple

The del keyword is used to delete a tuple. Check out the example below on how to delete the tuple named myTuple which was used in one of the examples. Note that mytuple was already defined.

>>> del (myTuple);

The tuple name myTuple was deleted from the memory.

 

Slicing in Tuples

When Slicing in tuples, it is similar to that done on lists. Check out the example below:

>>> t = (1, 2, 3, 4)
>>> print(t[2:4])

Output:

(3,4)

Here, t[2:4] means, slice the tuple starting from index 2 upto the index 4, and take that slice out.

You can also do backward slicing by using the negative indexes for traversing the tuple from the backward direction.

 

Basic Operations and Functions

The different operations that can be done on tuples are quite similar to that done on lists. Below are some operators we can use on tuple operations.

Multiplication

If a tuple is Multiplied by any integer, say x, the process will create another tuple with all the elements from the first tuple being repeated x number of times. Check out the example below.

>>> t = (2, 5)
>>> print (t*3);

Output:

(2,5,2,5,2,5)

 

Addition

If the addition operator is used with two or more tuples, it adds up all the elements into a new tuple. Check out the example below.

>>> t = (2, 5, 0) + (1, 3) + (4,)
>>> print (t);

Output:

(2,5,0,1,3,4)

 

in keyword

In Python, the in keyword cannot be used with tuples only, but with strings and lists. The keyword is used to check if any element exists in the sequence or not. Therefore, it returns True if the element is found, else False is returned. Check out the example.

>>> t = (1, 2, 3, 6, 7, 8)
>>> 2 in t
>>> 5 in t

Output:

true
false

 

len() function

The len() function is used to call the number of elements inside any tuple. Check out the example below:

>>> t = 1, 2, 3
>>> print (len(t))

Output:

3

 

cmp() function

This function compares two tuples. It typically returns either 1, 0, or -1, however, depending upon whether the two tuples being compared are similar or not. The cmp() function requires only two tuples as arguments, in which they are compared. Suppose, T1 is the first tuple and T2 is the second tuple, then, we will have:

  • if T1 > T2, then cmp(T1, T2) returns 1
  • if T1 = T2, then cmp(T1, T2) returns 0
  • if T1 > T2, then cmp(T1, T2) returns -1

 

max() and min() function

In other to determine the maximum value in a tuple, the max() function is used, while to find the minimum value, you can use the min() function.

>>> t = (1, 4, 2, 7, 3, 9)
>>> print (max(t))
>>> print (min(t))

Output:

9
1