Negative indexing helps you access elements from the end of a list or array easily. It saves time when you want to get last items without counting the total length.
You want the last element of a data array without knowing its length.
You need to slice the last few rows of a dataset quickly.
You want to access elements from the end in a loop or function.
You are working with time series data and want recent values.
You want to reverse access without creating a reversed copy.
Syntax
NumPy
array[-index]
Index -1 means the last element, -2 means second last, and so on.
This works the same way for 1D and multi-dimensional arrays.
Examples
Prints the last element of the array, which is 50.
This program shows how to use negative indexing to get elements from the end of 1D and 2D numpy arrays.
NumPy
import numpy as np
# Create a 1D array
numbers = np.array([5, 10, 15, 20, 25])
# Access last element using negative index
last_element = numbers[-1]
# Access second last element
second_last = numbers[-2]
# Create a 2D array
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Access element from last row, last column
element = matrix[-1, -1]
print(f"Last element in numbers: {last_element}")
print(f"Second last element in numbers: {second_last}")
print(f"Element from last row and last column in matrix: {element}")
OutputSuccess
Important Notes
Negative indexing is very handy for quick access but be careful not to use an index smaller than -length, or it will cause an error.
It works well with slicing too, like arr[-3:] to get last three elements.
Summary
Negative indexing lets you count from the end of arrays easily.
-1 is the last element, -2 is second last, and so on.
It works for both 1D and multi-dimensional numpy arrays.
Practice
(1/5)
1. What does negative indexing in a numpy array allow you to do?
easy
A. Sort the array in descending order
B. Access elements starting from the end of the array
C. Change the size of the array
D. Access elements only at the beginning of the array
Solution
Step 1: Understand negative indexing concept
Negative indexing means counting elements from the end of the array, starting at -1 for the last element.
Step 2: Compare options with concept
Only Access elements starting from the end of the array correctly describes accessing elements from the end using negative indexes.
Final Answer:
Access elements starting from the end of the array -> Option B
Quick Check:
Negative indexing = Access from end [OK]
Hint: Negative index -1 means last element [OK]
Common Mistakes:
Thinking negative index changes array size
Confusing negative indexing with sorting
Assuming negative index accesses start only at beginning
2. Which of the following is the correct syntax to get the last element of a numpy array arr using negative indexing?
easy
A. arr[0]
B. arr[1]
C. arr[-0]
D. arr[-1]
Solution
Step 1: Recall negative index for last element
In numpy, -1 is used to access the last element of an array.
Step 2: Check each option
arr[-1] uses arr[-1] which correctly accesses the last element. Others do not.
Final Answer:
arr[-1] -> Option D
Quick Check:
Last element = arr[-1] [OK]
Hint: Use arr[-1] for last element [OK]
Common Mistakes:
Using arr[-0] which is same as arr[0]
Using positive index 1 which is second element
Confusing zero index with negative zero
3. Given the numpy array arr = np.array([10, 20, 30, 40, 50]), what is the output of arr[-3]?
medium
A. 20
B. 40
C. 30
D. 50
Solution
Step 1: Understand negative index -3
Negative index -3 means counting from the end: last is -1 (50), second last -2 (40), third last -3 (30).
Step 2: Identify element at index -3
The element at arr[-3] is 30.
Final Answer:
30 -> Option C
Quick Check:
arr[-3] = 30 [OK]
Hint: Count backward: -1 last, -2 second last, -3 third last [OK]