TK Study

Software Engineering › Key terms › Code patterns › Python lists

Python lists

Code pattern Code patterns

Definition

A list stores ordered items: append(), remove(), len(), sorting with sort(), looping, and 2D lists as a list of lists.

Example

grid = [[0]*3 for _ in range(3)]

Found 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

Where it has appeared in the paper

The Software Engineering Project (Part A, B, C). Part letters follow each paper’s own layout.

Related past questions

These are the questions the flashcard set links to this term. Open each one and compare your answer with its marking criteria.

Study links

How to use it in an answer

A model sentence

General advice, built from the definition and example above

Code pattern: “A list stores ordered items: append(), remove(), len(), sorting with sort(), looping, and 2D lists as a list of lists.” Then apply it: grid = [[0]*3 for _ in range(3)]

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.

Technique for the question types

What the marking guidelines and feedback say

2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python) · contains a reasoned or flagged note, read it as such

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.

Familiarisation Q13 (6 marks): Python: lists, loops, selection · contains a reasoned or flagged note, read it as such

The full stem is not available; the requirements are inferred from the MG criteria and sample answer. FLAG: in the MG text the comment and the print("Round...") are run together on one line (a typesetting error); they are shown here on separate lines.

Sample exam Q21b (5 marks): Python: subroutines, lists, 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

Familiarisation Q13 (6 marks): Python: lists, loops, selection (6 marks): criteria and sample answer

Criteria

6: Substantially correct solution with ALL of: looping correctly; referring to the contents of the data structure correctly; displaying the player's scores and corresponding points as shown; calculating the total points; taking bonus points into account; handling the final round correctly. 5: Most features. 3-4: Some features. 2: One feature. 1: Some understanding.

Sample answer

Input code

scores = [3,5,5,2,1,4,0,1,4,5]

Display the scores and points

Header row

print("Round\tScore\tPoints") totalPoints = 0

Calculate the points and print

for i in range(len(scores)): roundNumber = i + 1 score = scores[i] points = score

# Check if any bonuses apply and NOT the final round
if points == 5 and i != 9:
    # Add the points from the next round as bonus points
    points += scores[i + 1]

# Check if the final round bonus applies
if points == 5 and i == 9:
    # Give the bonus points of 10
    points = 10

# Add to the total points tally
totalPoints += points

# Print the results
print(str(roundNumber) + "\t" + str(score) + "\t" + str(points))

print("\nTOTAL POINTS: " + str(totalPoints))

Open the question page

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)

Open the question page

Common mistakes

Marker feedback on other questions of the same type (code and diagram feedback often applies across questions)
  • 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.
General advice
  • 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.

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 2D list (grid) · 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