Software Engineering › Key terms › Code patterns › Python 2D list (grid)
Python 2D list (grid)
Code pattern Code patterns
Definition
A list of lists addressed as grid[row][column]; loop with nested for loops.
Example
grid[1][2] = 5Found in: syllabus, course specifications, 2025 HSC marking guidelines, school notes, past SDD papers.
Where it is used in the test
Syllabus area: Code patterns.
Question types it can appear in
- Python: Grid (2025 Q26, sample Q21)
- Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
Where it has appeared in the paper
The Software Engineering Project (Part A, B). Part letters follow each paper’s own layout.
Related past questions
- 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python) The Software Engineering Project (Part A) · 5 marks
- Sample exam Q21a (1 mark): 2D arrays (Python) The Software Engineering Project (Part B) · 1 mark
- Sample exam Q21b (5 marks): Python: subroutines, lists, loops The Software Engineering Project (Part B) · 5 marks
These are the questions the flashcard set links to this term. Open each one and compare your answer with its marking criteria.
Study links
- Flashcard: Python 2D list (grid) in Code Patterns: Pseudocode, Python, SQL, CSS (Years 11 and 12) · study that set
- Memorise: Python basics: input, selection, loops, strings
How to use it in an answer
A model sentence
Code pattern: “A list of lists addressed as grid[row][column]; loop with nested for loops.” Then apply it: grid[1][2] = 5
In a short answer, give the definition in your own words first, then tie it to the situation in the question. Do not copy the example above unless it fits the scenario.
Command words used with it
- Identify: Recognise and name. (Sample exam Q21a (1 mark): 2D arrays (Python))
Technique for the question types
- Python: Write code that runs: indentation, quotes, define functions before calling them, print the required output, meet every listed requirement.
What the marking guidelines and feedback say
FLAG: the NESA sample tests pos (0 to 24) against numbers 1 to 25, so it is off by one (25 is never marked, 0 never appears). Safer: test pos + 1 in randList. Marker feedback: replicate the grid; use the random library; use selection and looping to access the list; include a method of checking the number of values; use meaningful variable names and constants; avoid overly complex structures such as nested IF loops.
The key is the modulus: subjects[(period - day) % 5]. (The MG sample lists 'Art' where the question has 'Sport' - the program is meant to work with any five subjects.)
Worked answers from the marking guidelines
Sample exam Q21a (1 mark): 2D arrays (Python) (1 mark): criteria and sample answer
Criteria
1: Identifies the correct answer.
Sample answer
Timetable[0][2] (day index 0 = Monday, period index 2 = Period 3).
Sample exam Q21b (5 marks): Python: subroutines, lists, loops (5 marks): criteria and sample answer
Criteria
5: Substantially correct Python program that places each subject in the correct period; displays all 5 days; provides appropriate subroutines; programmatically builds the timetable. 4: Most requirements. 3: Some requirements. 2: One requirement. 1: Some understanding.
Sample answer
subjects = ["English", "Software", "Drama", "Science", "Art"] NUM_DAYS = 5 NUM_PERIODS = 5 DAYS_OF_WEEK = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
def create_timetable(subjects): timetable = [] for day in range(NUM_DAYS): periods = [] for period in range(NUM_PERIODS): periods.append(subjects[(period - day) % NUM_PERIODS]) timetable.append(periods) return timetable
def print_timetable(timetable): print() for day in range(NUM_DAYS): print(f"{DAYS_OF_WEEK[day]}") for period in range(NUM_PERIODS): print(f"\tPeriod {period+1}: {timetable[day][period]}") print()
timetable = create_timetable(subjects) print_timetable(timetable)
Common mistakes
- Python questions (2025 HSC exam Q19): process string inputs; use a selection structure; code must execute in the environment; use correct indentation; call functions in the main program after defining them.
- Python questions (2025 HSC exam Q26): replicate the grid; use the random library; use selection and looping to access the list; include a method of checking the number of values; use meaningful variable names and constants; avoid overly complex structures such as nested IF loops.
- Use the term exactly as the syllabus words it, then link it to the scenario in the question; the 2025 feedback repeatedly rewards using the stimulus.
- Answer the command word: outline gives main points only, explain gives a reason or cause, discuss gives both sides.
Related terms
Same group in the syllabus: Python input and output · Python selection (if elif else) · Python for loop and range · Python while loop · Python strings and slicing · Python lists · Python random numbers · Python functions · Global and local variables · Python file handling · Python modules and libraries · Python classes and objects · Python validation function pattern · Python try / except