PYTHON

Python Index: Syntax, Usage, and Examples

In Python, an index is the numbered position of an element inside a sequence like a list, string, or a tuple. Indexing starts at 0, which means the first element has index 0, the second has index 1, and so on.

How to Use Python Index

To access a specific item using a Python index, place the index number in square brackets after the sequence’s name.

temperatures = [17, 20, 26, 24]
print(temperatures[1])  # Output: 20

In this example, the list temperatures contains four elements. Using temperatures[1] returns the second value, which is 20, because Python indexing starts from 0.

Python also supports negative indices. A negative index counts from the end of the sequence:

  • 1 is the last item,
  • 2 is the second-to-last, and so on.

print(temperatures[-1])  # Output: 24

When to Use Indexing in Python

Using an index in Python is useful whenever you need to:

  1. Access Specific Elements

    Get a particular item from a list, tuple, or string using its position.

  2. Modify Elements in Mutable Sequences

    Change values in a list by assigning a new value to a specific index.

  3. Iterate with a Position Reference

    When looping through a sequence, sometimes you also need the index to track position.

Examples of Using Index in Python

Let’s walk through some practical examples of Python indexing across different use cases.

Accessing List Elements by Index

Use the index to retrieve elements from a list:

colors = ["red", "green", "blue", "yellow"]
print(colors[2])  # Output: blue

Modifying List Items Using Index

You can assign a new value to a specific index of a list:

colors[0] = "orange"
print(colors)  # Output: ['orange', 'green', 'blue', 'yellow']

Using Negative Indices

Negative indices are useful when you want to work from the end of a sequence:

colors = ["red", "green", "blue", "yellow"]
print(colors[-2])  # Output: blue

Indexing in Strings

Python strings are sequences of characters and can be indexed just like lists:

greeting = "Hello"
print(greeting[1])  # Output: e

Using range() with Indices

When looping through a list with its index:

names = ["Alice", "Bob", "Charlie"]
for i in range(len(names)):
    print(f"{i}: {names[i]}")

Learn More About Python Indexing

IndexError and How to Avoid It

If you try to access an index that doesn’t exist, Python raises an IndexError.

numbers = [1, 2, 3]
print(numbers[5])  # IndexError: list index out of range

To prevent this, make sure your index is within the valid range using len():

if len(numbers) > 5:
    print(numbers[5])

Using enumerate() for Safer Indexing

Instead of manually handling indices, enumerate() provides both the index and value:

for index, value in enumerate(["a", "b", "c"]):
    print(f"Index {index} has value {value}")

This approach avoids common indexing mistakes and improves code readability.

Python Indexing with Slices

A slice lets you access multiple elements by defining a range of indices:

letters = ["a", "b", "c", "d", "e"]
print(letters[1:4])  # Output: ['b', 'c', 'd']

The general format is list[start:end], and it includes start but excludes end.

Indexing Tuples

Just like lists, tuples use zero-based indexing. But unlike lists, they are immutable:

points = (3, 6, 9)
print(points[0])  # Output: 3

Python Index in Nested Lists

You can use multiple indices to access items inside nested structures:

matrix = [[1, 2], [3, 4]]
print(matrix[1][0])  # Output: 3

This is common in grid-like data structures and 2D arrays.

Working with index() Method

To find the index of a specific element in a list, use .index():

animals = ["dog", "cat", "rabbit"]
print(animals.index("cat"))  # Output: 1

If the item isn’t found, Python throws a ValueError. You can use a condition to avoid that:

if "hamster" in animals:
    print(animals.index("hamster"))

Indexing vs. Iterating

Not all situations require direct index access. For simple iterations, it’s often cleaner to loop over values directly:

for animal in animals:
    print(animal)

But when the position matters, such as tracking scores or syncing with another list, use indices or enumerate().

Recap

  • The Python index allows direct access to elements in a list, string, or tuple.
  • With index Python syntax, you can retrieve or modify data by position.
  • Python uses indices for precise referencing in loops, slicing, and updates.
  • Understanding Python indexing helps avoid common bugs like IndexError, especially when working with list indices Python or indices list Python in complex data structures.

By learning how indices work, you gain control over data access and structure in your Python programs. Whether you're building an app, processing data, or just organizing information, mastering the Python index makes life a whole lot easier.

Learn to Code in Python for Free
Start learning now
button icon
To advance beyond this tutorial and learn Python by doing, try the interactive experience of Mimo. Whether you're starting from scratch or brushing up your coding skills, Mimo helps you take your coding journey above and beyond.

Sign up or download Mimo from the App Store or Google Play to enhance your programming skills and prepare for a career in tech.

You can code, too.

© 2025 Mimo GmbH