Ready to begin
No records have been processed. Start with Next step.
![Reuse the Week 6 historical train cards: sourceStation["02201"] returns Kolkata. Leading zeros remain part of the train-number string.](/images/computational-thinking/week-7/train-source.png)
Follow the dictionary as its keys and values change. Predict each lookup or update before revealing the next step.
Ready
No records have been processed. Start with Next step.
Predict the next key, whether it already exists, and the value that will be stored.

A list preserves an ordered sequence and repeated occurrences. A dictionary connects unique keys to current values. Combining them gives customer→bill-ID lists, birthday→student-ID dictionaries, and part-of-speech→ordered position lists. Choose what information later questions need; aggregation can discard details.
Reuse the same original datasets across these tasks. Student IDs and word positions start at 0, bill numbers start at 1, and train numbers are strings such as “02201”. They are different identifiers, not interchangeable list positions. Preserve source records and build derived structures alongside them.
Which structure helps repeatedly ask “is this ID in the group”?
An ID-keyed dictionary using isKey, under the course’s dictionary-operation model.
Which structure retains the sequence and repeated copies of bill-row events?
A list of those events or references.
Why preserve train number “02201” as a string?
Its leading zeros are part of the identifier. Converting to a number would change its displayed identity.