Python Lists, Indexing and Slicing for Kids
A list holds several values under one name, in order, so a program can work with a whole collection instead of one thing at a time.
- 16 exercises
- 5 lessons
- Ages 10+
- PRO
This topic is part of PRO — a one-time $49.99 purchase, no subscription. Topics 1–3 are free, start to finish, and the first level needs no account.
For parents & teachers
What this topic covers
Lists bring back counting from zero, and this time it bites harder: the first item is at index 0, so the last item of a five-item list is at index 4, and asking for index 5 is an error rather than a wrong answer. Children practise reading items out before changing anything.
Slicing comes next — taking a range of items with a start and an end — and carries the same boundary rule, where the end index is not included. Slicing also never modifies the original list, which is worth knowing before meeting the operations that do.
The last segment is the one that matters most and is almost always skipped elsewhere: what happens when you copy a list. Assigning one list to a new name does not make a second list, it makes a second name for the same list, so changing one appears to change the other. This is a documented misconception that survives well into adult programming, and the topic makes it visible on screen rather than leaving it to be discovered painfully later.
Built around a real misconception
The mistake this topic is built to fix
A child writes copy = hoard, changes copy, and is surprised that hoard changed too.
Why the topic is built around it
Assignment copies the reference, not the contents — both names now point at the same list. This misconception outlives childhood; the topic shows the shared list directly instead of describing it.
hoard = ["ruby", "coin", "crown"]print(hoard[0])print(hoard[1:3])
Explain · Ask · Guided · Practice
The lessons, in order
Each lesson explains one idea in short steps, checks it landed with a question, walks through a guided first try, then leaves the child to practise on their own.
A row of things, and how to pick out one item at a time.
- Explain
- Ask
- Guided 1 level
- Practice 3 levels
hoard[start:end] gets a range of items — and never changes the original list.
- Explain
- Ask
- Guided 1 level
- Practice 2 levels
append, remove — and the surprising truth about copying a list.
- Explain
- Ask
- Guided 1 level
- Practice 2 levels
Lesson 4: The Grand Inventory Check
Topic challengeLists, loops, and decisions — sorting a whole hoard, one item at a time.
- Explain
- Ask
- Guided 1 level
- Challenge 2 levels
.copy() and [:] make a genuine second list — and why hoard = hoard.sort() empties it.
- Explain
- Ask
- Guided 1 level
- Practice 2 levels
Lessons unlock in order within a topic, so nothing arrives before the idea it depends on. This topic is part of PRO — $49.99 unlocks it along with everything else.
Try it now
The very first level needs no account at all — see whether it clicks before signing up for anything.
Play the first level free