GCSE Computer Science
Python 2D lists โ GCSE Computer Science
What is a 2D list?
A 2D list is a list of lists โ each item in the outer list is itself a list. It's the standard way to represent a grid: a seating plan, a noughts-and-crosses board, a spreadsheet of scores. Instead of one long list, you get rows, and each row is a list of its own.
grid = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
Indexing with two indices
To reach a single value in a 2D list, you need two indices: one for the row, one for the column โ grid[row][col]. grid[1][2] means: go to row 1 (the second row, since indexing starts at 0), then column 2 (the third value in that row).
grid = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print(grid[1][2]) # 6
print(grid[0][0]) # 1
print(grid[2][1]) # 8
Iterating with nested loops
To visit every value in a 2D list, you need a loop inside a loop โ one for the rows, one for the columns within each row.
grid = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in grid:
for value in row:
print(value)
The outer loop takes each row in turn. The inner loop then takes each value within that row. Together, they visit all nine values, row by row, left to right.
A worked example: a 3×3 grid
grid = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
total = 0
for row_index in range(3):
for col_index in range(3):
total = total + grid[row_index][col_index]
print(total) # 45
This does the same job as the row-by-row loop above, but using index numbers directly โ useful when you need to know which row and column a value came from, not just the value itself.
Reversing the row/column index order. my_list[1][2] means row 1, column 2 โ not column 1, row 2. Exam questions that describe a grid and ask for a specific cell are designed to test this.
What examiners actually test
2D list questions typically describe a grid โ a seating plan, a set of scores โ and ask you to retrieve, update, or sum values at specific positions, or to write nested loops that process every cell. Read the row/column order carefully in the question: grid[row][col] is consistent throughout Python, but it's easy to swap the two under exam pressure.
Python Coach covers hundreds of challenges taking students from their first print statement to advanced Python โ with progress tracking for every student.
Start your school's free trial →