The index[]
method returns the index of the specified element in the tuple.
Example
# tuple containing vowels
vowels = ['a', 'e', 'i', 'o', 'u']
# index of 'e' in vowels
index = vowels.index['e']
print[index]
# Output: 1
index[] Syntax
The syntax of the index[]
method is:
tuple.index[element, start_index, end_index]
Here, the index[]
scans the element in the tuple from start_index to end_index.
index[] Parameter
The index[]
method can take one to three parameters:
element
- the item to scanstart_index
[optional] - start scanning theelement
from thestart_index
end_index
[optional] - stop scanning theelement
at theend_index
index[] Return Value
The index[]
method returns:
- the index of the given element in the tuple
ValueError
exception if the element is not found in the tuple
Note: The index[]
method only returns the first occurrence of the matching element.
Example 1: Python Tuple index[]
# tuple containing vowels
vowels = ['a', 'e', 'i', 'o', 'i', 'u']
# index of 'e' in vowels
index = vowels.index['e']
print['Index of e:', index]
# index of the first 'i' is returned
index = vowels.index['i']
print['Index of i:', index]
Output
Index of e: 1 Index of i: 2
In the above example, we have used the index[]
method to find the index of a specified element in the vowels tuple.
The element 'e'
appears in index 1 in the vowels tuple. Hence, the method returns 1.
The element 'i'
appears twice in the vowels tuple. In this case, the index of the first 'i'
[which is 2] is returned.
Example 2: index[] throws an error if the specified element is absent in the Tuple
# tuple containing numbers
numbers = [0, 2, 4, 6, 8, 10]
# throws error since 3 is absent in the tuple
index = numbers.index[3]
print['Index of 3:', index]
Output
ValueError: tuple.index[x]: x not in tuple
In the above example, we have used the index[]
method to find the index of an element that is not present in the numbers tuple.
Here, numbers doesn't contain the number 3. Hence, it throws an exception
Example 3: index[] With Start and End Parameters
# alphabets tuple
alphabets = ['a', 'e', 'i', 'o', 'g', 'l', 'i', 'u']
# returns the index of first 'i' in alphabets
index = alphabets.index['i']
print['Index of i in alphabets:', index]
# scans 'i' from index 4 to 7 and returns its index
index = alphabets.index['i', 4, 7]
print['Index of i in alphabets from index 4 to 7:', index]
Output
Index of i in alphabets: 2 Index of i in alphabets from index 4 to 7: 6
In the above example, we have used the index[]
method to find the index of the element 'i'
with the start and end parameters.
Here, 'i'
is scanned from index 4 to index 7 in the tuple alphabets. Once found, the index of the scanned 'i'
is returned.
❮ Tuple Methods
Example
Search for the first occurrence of the value 8, and return its position:
thistuple = [1, 3, 7, 8, 7, 5, 4, 6, 8, 5]
x = thistuple.index[8]
print[x]
Try it Yourself »
Definition and Usage
The index[]
method finds the first occurrence of the specified value.
The index[]
method raises an exception if the value is not found.
Syntax
Parameter Values
value | Required. The item to search for |
❮ Tuple Methods
A tuple is a collection of objects which ordered and immutable. Tuples are sequences, just like lists. The differences between tuples and lists are, the tuples cannot be changed unlike lists and tuples use parentheses, whereas lists use square brackets.
Creating a tuple is as simple as putting different comma-separated values. Optionally you can put these comma-separated values between parentheses also. For example −
tup1 = ['physics', 'chemistry', 1997, 2000]; tup2 = [1, 2, 3, 4, 5 ]; tup3 = "a", "b", "c", "d";
The empty tuple is written as two parentheses containing nothing −
tup1 = [];
To write a tuple containing a single value you have to include a comma, even though there is only one value −
tup1 = [50,];
Like string indices, tuple indices start at 0, and they can be sliced, concatenated, and so on.
Accessing Values in Tuples
To access values in tuple, use the square brackets for slicing along with the index or indices to obtain value available at that index. For example −
Live Demo
#!/usr/bin/python tup1 = ['physics', 'chemistry', 1997, 2000]; tup2 = [1, 2, 3, 4, 5, 6, 7 ]; print "tup1[0]: ", tup1[0]; print "tup2[1:5]: ", tup2[1:5];
When the above code is executed, it produces the following result −
tup1[0]: physics tup2[1:5]: [2, 3, 4, 5]
Updating Tuples
Tuples are immutable which means you cannot update or change the values of tuple elements. You are able to take portions of existing tuples to create new tuples as the following example demonstrates −
Live Demo
#!/usr/bin/python tup1 = [12, 34.56]; tup2 = ['abc', 'xyz']; # Following action is not valid for tuples # tup1[0] = 100; # So let's create a new tuple as follows tup3 = tup1 + tup2; print tup3;
When the above code is executed, it produces the following result −
[12, 34.56, 'abc', 'xyz']
Delete Tuple Elements
Removing individual tuple elements is not possible. There is, of course, nothing wrong with putting together another tuple with the undesired elements discarded.
To explicitly remove an entire tuple, just use the del statement. For example −
Live Demo
#!/usr/bin/python tup = ['physics', 'chemistry', 1997, 2000]; print tup; del tup; print "After deleting tup : "; print tup;
This produces the following result. Note an exception raised, this is because after del tup tuple does not exist any more −
['physics', 'chemistry', 1997, 2000] After deleting tup : Traceback [most recent call last]: File "test.py", line 9, in print tup; NameError: name 'tup' is not defined
Basic Tuples Operations
Tuples respond to the + and * operators much like strings; they mean concatenation and repetition here too, except that the result is a new tuple, not a string.
In fact, tuples respond to all of the general sequence operations we used on strings in the prior chapter −
len[[1, 2, 3]] | 3 | Length |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | Concatenation |
['Hi!',] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | Repetition |
3 in [1, 2, 3] | True | Membership |
for x in [1, 2, 3]: print x, | 1 2 3 | Iteration |
Indexing, Slicing, and Matrixes
Because tuples are sequences, indexing and slicing work the same way for tuples as they do for strings. Assuming following input −
L = ['spam', 'Spam', 'SPAM!']
L[2] | 'SPAM!' | Offsets start at zero |
L[-2] | 'Spam' | Negative: count from the right |
L[1:] | ['Spam', 'SPAM!'] | Slicing fetches sections |
No Enclosing Delimiters
Any set of multiple objects, comma-separated, written without identifying symbols, i.e., brackets for lists, parentheses for tuples, etc., default to tuples, as indicated in these short examples −
Live Demo
#!/usr/bin/python print 'abc', -4.24e93, 18+6.6j, 'xyz'; x, y = 1, 2; print "Value of x , y : ", x,y;
When the above code is executed, it produces the following result −
abc -4.24e+93 [18+6.6j] xyz Value of x , y : 1 2
Built-in Tuple Functions
Python includes the following tuple functions −
1 | cmp[tuple1, tuple2] Compares elements of both tuples. |
2 | len[tuple] Gives the total length of the tuple. |
3 | max[tuple] Returns item from the tuple with max value. |
4 | min[tuple] Returns item from the tuple with min value. |
5 | tuple[seq] Converts a list into tuple. |