Tuple Indexes
Just like lists, tuple items also have indexes. Indexes help us access specific items stored inside a tuple. Each item/element in a tuple has its own unique index. This index can be used to access any particular item from the tuple. The first item has index [0], the second item has index [1], the third item has index [2], and so on.
Example:
country = ("Spain", "Italy", "India", "England", "Germany")
# [0] [1] [2] [3] [4]Accessing tuple items:
1. Positive Indexing:
As we have seen that tuple items have an index, we can access items using these indexes.
Example:
country = ("Spain", "Italy", "India", "England", "Germany")
# [0] [1] [2] [3] [4]
print(country[1])
print(country[3])
print(country[0])Output:
Italy
England
Spain2. Negative Indexing:
Similar to positive indexing, negative indexing is also used to access items, but from the end of the tuple. The last item has index [-1], the second last item has index [-2], the third last item has index [-3], and so on.
Example:
country = ("Spain", "Italy", "India", "England", "Germany")
# [0] [1] [2] [3] [4]
print(country[-1])
print(country[-3])
print(country[-4])Output:
Germany
India
Italy3. Check for item:
We can check if a given item is present in the tuple. This is done using the in keyword.
Example 1:
country = ("Spain", "Italy", "India", "England", "Germany")
if "Germany" in country:
print("Germany is present.")
else:
print("Germany is absent.")Output:
Germany is present.Example 2:
country = ("Spain", "Italy", "India", "England", "Germany")
if "Russia" in country:
print("Russia is present.")
else:
print("Russia is absent.")Output:
Russia is absent.4. Range of Index:
You can print a range of tuple items by specifying where you want to start, where you want to end, and if you want to skip elements in between the range.
Syntax:
Tuple[start : end : jumpIndex]
Note: jumpIndex is optional. We will see this in given examples.
Example: printing elements within a particular range:
animals = ("cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow")
print(animals[3:7]) # using positive indexes
print(animals[-7:-2]) # using negative indexesOutput:
('mouse', 'pig', 'horse', 'donkey')
('bat', 'mouse', 'pig', 'horse', 'donkey')Here, we provide the index of the element from where we want to start and the index of the element till which we want to print the values.
Note: The element of the end index provided will not be included.
Example: printing all elements from a given index till the end
animals = ("cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow")
print(animals[4:]) # using positive indexes
print(animals[-4:]) # using negative indexesOutput:
('pig', 'horse', 'donkey', 'goat', 'cow')
('horse', 'donkey', 'goat', 'cow')When no end index is provided, the interpreter prints all the values till the end.
Example: printing all elements from start to a given index
animals = ("cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow")
print(animals[:6]) # using positive indexes
print(animals[:-3]) # using negative indexesOutput:
('cat', 'dog', 'bat', 'mouse', 'pig', 'horse')
('cat', 'dog', 'bat', 'mouse', 'pig', 'horse')When no start index is provided, the interpreter prints all the values from start up to the end index provided.
Example: print alternate values
animals = ("cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow")
print(animals[::2]) # using positive indexes
print(animals[-8:-1:2]) # using negative indexesOutput:
('cat', 'bat', 'pig', 'donkey', 'cow')
('dog', 'mouse', 'horse', 'goat')Here, we have not provided start and end indexes, which means all the values will be considered. But as we have provided a jump index of 2, only alternate values will be printed.
Example: printing every 3rd consecutive within given range
animals = ("cat", "dog", "bat", "mouse", "pig", "horse", "donkey", "goat", "cow")
print(animals[1:8:3])Output:
('dog', 'pig', 'goat')Here, the jump index is 3. Hence, it prints every 3rd element within the given index.
Using indexes and slices, we can easily access specific items or ranges inside a tuple. Even though tuples are immutable, indexing and slicing allow us to read their values efficiently.