Community resourceWorksheet

OCR H446 1.4.2 Arrays, records, lists and tuples

Part 1 of 14 · H446 1.4.2 · Data structures

OCR H446 1.4.2 expects students to choose between arrays, records, lists and tuples rather than reach for whichever structure is most familiar. This worksheet builds that choice from shape, meaning, mutability and the operations a program actually performs, using a creative-events app that holds seat grids, performer details, editable set lists and fixed colour values.

Students will:

  • describe arrays, records, lists and tuples in terms of shape, access and whether values may change
  • choose a structure for a described requirement and reject one close alternative with reasons
  • explain how traversal, update, addition and removal differ across the four structures
  • design storage for a changing ordered collection of player records with named fields
  • complete closed-book sentences on structure choice without an answer bank

Inside: 8 explanation cells, 4 multiple-choice questions, 1 fill-in-the-blanks cell and 2 written answers. 22 marks, about 40 to 50 minutes.

Series: H446 1.4.2 · Data structures, part 1 of 14.

Shared by Coding PathwayVerified teacher

  • 15 cells
  • About 45 minutes
  • CC BY-SA 4.0
  • Shared 31 Aug 2026
  • Updated 1 Oct 2026

Preview

The whole resource, exactly as a class sees it. Answers and marking are held back.

Arrays, records, lists and tuples

Programs often need to store several related values. The best structure depends on what the values mean and what the program must do with them. In this worksheet, a creative-events app needs to store seat grids, performer details, editable set lists and fixed colour coordinates.

By the end, you will be able to

  • describe arrays, records, lists and tuples;
  • choose a structure from its shape, data and required operations;
  • distinguish a program record from a database record;
  • explain how each structure can be created, traversed and changed.

Compare the structures

Choosing a simple data structureArrayRecordListTupleindexed, fixed shapeusually one type1D, 2D or 3Dnamed fieldsdifferent typesone entityordered sequencecan grow/changeindexed in Pythonordered valuesimmutablefixed groupingChoose from required operations and meaning, not from the name alone.

An array has a fixed indexed shape in the abstract model. A record groups named fields about one entity and fields may have different types. A list is an ordered collection that can grow or shrink. A tuple is an ordered immutable grouping: create a new tuple rather than changing it in place.

A method for choosing a structure

To store one performer’s name, stage number and access requirements, use a record. The fields describe one entity, have different meanings and may use different data types.

To store a 20 by 30 seat-state grid, use a 2D array. The positions form a fixed rectangular shape and each seat can be found from its row and column indexes.

For a new scenario, ask these questions in order:

  1. Am I storing one entity or a collection?
  2. Does the collection have a fixed indexed shape?
  3. Do the fields have different names or data types?
  4. Must the size or contents change while the program runs?
  5. Which access and update operations must be efficient?
Multiple choice1 mark

Which structure best groups one attendee’s name, ticket number and access flag as named fields?

  • ARecord
  • B2D array
  • CStack
  • DTuple of unrelated items
Multiple choice1 mark

Which statement correctly distinguishes a program record from a database record?

  • AThey are always the same stored row
  • BA program record groups named fields in a program; a database record is a row stored in a database table
  • CA program record can contain only text
  • DA database record cannot contain fields
Multiple choice1 mark

Why might a tuple suit an RGB colour coordinate that should not change?

  • AIt always sorts its values
  • BIt removes duplicate values
  • CIt is an ordered immutable grouping
  • DIt can only hold Booleans
Multiple choice1 mark

Which comparison between a changeable list and a fixed array is most accurate?

  • AA list is simply an array with more initial positions
  • BA fixed array automatically resizes with no management cost
  • CA list cannot be traversed by position
  • DA list can resize while the program runs, but capacity or link management can add overhead

Guided practice

For each scenario, annotate: entity/collection; fixed/growing; homogeneous/heterogeneous; indexed/named access; mutation required. Then choose a structure and reject one near alternative.

Written answer6 marks

Choose and justify structures for: (a) attendance totals for each of the 12 months, (b) one venue with name, capacity and open fields, and (c) an editable ordered set list.

Give a structure and one linked property for each choice.

Students type their answer here.

Worked operation qualification

Traverse an array/list/tuple by visiting indexes/items. Update an array element or list item in place. Add/remove from a dynamic list. A tuple is immutable, so produce a new tuple. A fixed-size array cannot grow: insertion may mean shifting within spare capacity or creating another array.

These qualifications matter more than memorising Python method names.

Independent transfer

Design storage for a small game leaderboard containing a changing ordered collection of player records. Each record needs name, score and verified status.

Written answer8 marks

Specify the outer and inner structures, show one example value, and explain how traversal, addition, removal and score update would work.

Keep collection operations separate from record-field access.

Students type their answer here.

Closed-book checkpoint

Complete each sentence from memory. There is no answer bank and correctness is held for teacher review.

Fill in the blanks4 marks
An array has a fixed indexed completion 1. A record groups named completion 2 about one entity. A list can grow or completion 3. A tuple is completion 4, so a changed version must be created as a new tuple.

Review your work

Check that every structure choice is justified by the data and operations in the scenario.