Python Basics

Course by zooboole,

Last Updated on 2025-02-26 16:14:49

Indices and Slices

In Python, lists are ordered collections of items, meaning that each element has a specific position within the list. Understanding how to access elements using indices and how to extract portions of a list using slices is fundamental to working with lists efficiently.


List Indices

Each element in a list has a unique index, starting from 0 for the first item.

Example:

fruits = ["apple", "banana", "cherry", "date"]
print(fruits[0])  # Output: apple
print(fruits[2])  # Output: cherry

Negative Indices

Python allows the use of negative indices to access elements from the end of the list.

print(fruits[-1])  # Output: date
print(fruits[-2])  # Output: cherry

Using negative indices can be very useful when working with lists dynamically.


List Slicing

Slicing allows extracting a portion of a list by specifying a start and end index.

Basic Slicing Syntax:

list[start:end]
  • start (inclusive) is the index where the slice begins.
  • end (exclusive) is the index where the slice stops.
  • The result is a new list containing the selected elements.

Example:

numbers = [1, 2, 3, 4, 5, 6]
print(numbers[1:4])  # Output: [2, 3, 4]

Omitting Start or End

If the start index is omitted, Python assumes 0. If the end index is omitted, Python assumes the last element.

print(numbers[:3])  # Output: [1, 2, 3]  (First three elements)
print(numbers[3:])  # Output: [4, 5, 6]  (Elements from index 3 to end)

Using Step in Slicing

A third parameter, step, can be used to specify the interval between elements.

print(numbers[::2])  # Output: [1, 3, 5]  (Every second element)
print(numbers[::-1]) # Output: [6, 5, 4, 3, 2, 1]  (Reversed list)

Exercise: Try It Yourself!

  1. Create a list of five of your favorite movies.
  2. Print the first and last movie using both positive and negative indexing.
  3. Extract a slice containing the second, third, and fourth movies.
  4. Reverse the order of the list using slicing.

Example Code:

movies = ["Inception", "Interstellar", "The Matrix", "Avengers", "Titanic"]
# Your code here

Expected Output:

  • Print first and last movie
  • Extract and print the middle three movies
  • Reverse and print the list

Conclusion

Understanding list indexing and slicing allows for efficient manipulation of lists. These techniques are widely used in Python programming, from simple data processing to complex algorithms.