Level 4Exercise #89
Group records by team
Return a mapping from team to its records even when input teams are interleaved.
What you’ll practice
This Level 4 exercise focuses on sorted + groupby in the Itertools curriculum. Solve the challenge prompt above using clear, idiomatic Python and the relevant language or standard-library tools.
Relevant Python reference: itertools.groupby.
Sample Test Cases
Example #1
Input:
group_teams([{'team': 'red', 'v': 1}, {'team': 'blue', 'v': 2}, {'team': 'red', 'v': 3}])Output:
{'blue':[...], 'red':[...]}Further Reading
Reference Solution
Reveal Reference Solution
def group_teams(records: list[dict]) -> dict[str,list[dict]]: from itertools import groupby ordered = sorted(records, key=lambda row: row['team']) return {team: list(group) for team, group in groupby(ordered, key=lambda row: row['team'])}Pro Tips & Keyboard Shortcuts
Color Theme
Ctrl + K then T
Open VS Code Color Theme Quick Pick to select from 20 dark and light themes.
Editor SettingsCtrl + K
Open practice settings drawer to toggle line numbers, indenting, font size & hints.
Search MenuCtrl + /
Expand sidebar menu, focus search bar, and highlight search text instantly.
Focus Code Editor
Esc or Ctrl + `
Instantly highlight and focus code editor from anywhere, restoring cursor right where you left off.
Normal ViewEsc
Collapse sidebar and close all popups or settings drawers for clean focus view.