Data Structures - Tuple

Tuple is a collection that holds items (of different types). Tuple is ordered and unchangeable.

  • Immutable - the programmer can't edit the tuple after its creation - it is not possible to remove or add items.
  • Ordered - the indexes of the items don't change.

A tuple can be created by placing the items inside parentheses (item1, item2). The items are separated by a comma.
Here is an example:

#Creating a tuple my_tuple = (1, 2, "python", 3, "tutorial", True) print(my_tuple)

Some operators can work operate with Tuples! Python concatenates Tuples using the + operator.
It is possible to multiply Tuples using the * operator.

#Operators and Tuples a_tuple = ("python", "tutorial") b_tuple = (5, 10, 20) print(a_tuple + b_tuple) print(a_tuple * 5)

Note that it is not possible to use different types of data structures when concatenating:

#Tuples and Lists a_tuple = ("python", "tutorial") a_list = [5, 10, 20] print(a_tuple + a_list)

Access Items

We can access to different items of the tuple by putting the appropriate index in square brackets next to the tuple tuple[index]. The index of the first item is 0. It is possible to use the negative index. The negative index of the last items is -1.

Slicing - access to a specified range of elements.. Slicing is made by adding square brackets next to the tuple with the appropriate start index and the end index separated by colon.
The syntax:

  • tuple[stop]
  • tuple[start : stop]
  • tuple[start : stop : step]

#Slicing my_tuple = (1, 2, "python", 3, "tutorial", True) print("The first item of the tuple is", my_tuple[0]) print("The last item of the tuple is", my_tuple[-1]) #range print(my_tuple[2:4])

Tuple - Functions and Methods

Note that Tuples don't have methods like append and remove. That's because tuples are immutable!

Len

The len() function returns the length of a tuple.

#len() our_tuple = ("blue", "green", "gray", "orange") print(len(our_tuple)) print(len(our_tuple) * 2)

Count

The count() method retuns the number of occurrences of a value.

#count our_tuple = (1, 1, 1, 1, 2, 2, 3) print(our_tuple.count(1)) print(our_tuple.count(3))

Index

The index() method retuns the first index of a value.

#index our_tuple = (1, 1, 1, 1, 2, 2, 3) print(our_tuple.index(2)) #slice using the index method print(our_tuple[our_tuple.index(2)])

Exercise 1

Try to create a tuple and then slice it

#Slicing #Create your tuple here: #Slice it as you wish :)

Exercise 2

  1. Create a tuple with some items of different types.
  2. Count the number of occurrences of a certain value.
  3. Find the first index of that value.
  4. Print the tuple.

#Create a tuple #Count #Index #Print