GCSE Computer Science

Python arrays and lists โ€” GCSE Computer Science

Why the specification says "array" but Python uses lists

GCSE specifications are written to be language-neutral, and the data structure they describe is called an array. Python doesn't have a built-in array type in the way some other languages do โ€” it has lists, and GCSE Python teaching uses lists to implement what the specification calls an array. The terminology and the implementation don't quite match, and exams expect you to bridge that gap.

What makes something an array, in exam terms

The specification's definition of an array is specific: fixed size (decided when it's created, and it doesn't grow or shrink), one data type (every element is the same kind of value), and index-based access (each element has a position, accessed by index). Python lists are more flexible than that in practice โ€” they can grow, shrink, and mix types โ€” but when a GCSE question describes an array, you write it as a Python list and treat it as if those restrictions applied.

Static vs dynamic data structures

An array is a static data structure: its size is fixed at creation. A data structure that can grow or shrink while the program runs is dynamic. This distinction is examined on its own โ€” you may be asked to classify a described data structure as static or dynamic without any code in the question at all.

The operations examiners test

scores = [82, 74, 91, 68]

# creating
print(scores)

# indexing
print(scores[0])      # 82

# updating an element
scores[1] = 79
print(scores)          # [82, 79, 91, 68]

# iterating
for score in scores:
    print(score)

Creating, indexing, updating a single element, and iterating through every element โ€” these four operations cover the vast majority of array questions on GCSE papers, and all four are just standard Python list syntax.

Common exam mistake

Writing array = [1, 2, 3] and explaining it as "an array" without noting the Python/spec distinction. If an exam asks what type of data structure this is, the answer is array (a static structure) โ€” but the Python implementation is a list. Conflating the two costs explanation marks even when the code itself is correct.

What examiners actually test

Array questions typically describe a scenario using array terminology, then ask you to write the Python code (using list syntax) to create, index, update, or iterate through it โ€” or ask you to classify a data structure as static or dynamic in the abstract, with no code involved at all. Both forms are testing whether you can move between the specification's vocabulary and Python's actual syntax without losing the distinction.

The array-vs-list vocabulary gap trips up strong coders who've never had it named explicitly โ€” they can write the code but stumble on the explanation mark. Python Coach names that distinction directly across 195 challenges and 27 lessons, with progress tracking built in for every student. Sixty teaching days free, no payment details required.

Start your school's free trial →