Are tuples indexed in python

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 scan
  • start_index (optional) - start scanning the element from the start_index
  • end_index (optional) - stop scanning the element at the end_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

ParameterDescription
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 <module>
      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 −

Python ExpressionResultsDescription
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!')
Python ExpressionResultsDescription
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 −

Sr.No.Function with Description
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.

Are tuples indexed?

Tuple items are ordered, unchangeable, and allow duplicate values. Tuple items are indexed, the first item has index [0] , the second item has index [1] etc.

Can tuples be indexed and sliced?

Like string indices, tuple indices start at 0, and they can be sliced, concatenated, and so on.

Are Python tuples zero indexed?

Accessing Values in Tuples Each value in a tuple has an assigned index value. It is important to note that python is a zero indexed based language. All this means is that the first value in the tuple is at index 0.

How do you use index method in tuple in Python?

Python Tuple index().
index() Syntax. The syntax of the index() method is: tuple.index(element, start_index, end_index) ... .
index() Parameter. ... .
index() Return Value. ... .
Example 1: Python Tuple index() ... .
Example 2: index() throws an error if the specified element is absent in the Tuple. ... .
Example 3: index() With Start and End Parameters..

Tải thêm tài liệu liên quan đến bài viết Are tuples indexed in python