Practice Arena

Python Coding Challenges

Write real Python in the browser. Instant feedback. From beginner to expert.

925 challenges 556 easy 323 medium 46 hard
Lists & Arrays medium

Flatten nested list

Yield every integer from an arbitrarily nested list, depth-first.

recursion generators
+25 pts 22m
Lists & Arrays easy

Flatten Multidimensional Lists

Write a function that flattens arbitrarily nested lists of integers into a single list.

recursion nested-lists flatten
+10 pts 15m
Dicts & Sets easy

Union of Many Sets

Implement a function that takes any number of sets and returns a sorted list of their union.

sets union flatten
+10 pts 10m
Iterators & Generators easy

Yield from delegation

Implement a generator that flattens nested iterables of any depth using `yield from`.

generators yield delegation
+8 pts 10m
Iterators & Generators easy

Flatten Nested List Iterator

Implement a class that iterates over all integers in a nested list structure in depth-first order.

iterator generator flatten
+10 pts 15m
Matrix & 2D Arrays medium

Shift 2D Grid

Implement a function to shift a 2D grid right by k positions, flattening the grid and wrapping elements.

grid list modulo
+20 pts 20m
Data Formats & Parsing medium

Flatten nested JSON

Write a function that flattens nested JSON objects into a flat dictionary with dot-separated keys, handling lists and empty objects.

json recursion dictionaries
+20 pts 25m
Data Formats & Parsing medium

Unflatten JSON dict

Given a flat dictionary with keys like 'a.b.c', reconstruct the nested dictionary where each dotted segment becomes a nested level.

json dict parsing
+20 pts 20m
Numpy & Vectorized Computing medium

Flatten matrix to vector

Read rows left-to-right, top-to-bottom.

vectors arrays numpy-style
+22 pts 20m

Showing 1–9 of 9 challenges

Guide: free Python coding challenges

Practice Python by solving problems

PythonSkillset challenges are hands-on coding exercises from beginner to advanced. Open a challenge, read the problem, write Python in the split-pane editor, and run tests with Pyodide — no install required.

How to use the arena

  1. Pick a category — basics, algorithms, strings, and more
  2. Open a challenge, read the statement, and edit the starter code
  3. Run tests, fix failures, then try a related quiz or tutorial lesson

Challenges vs tutorials and quizzes

Challenges test what you can build under constraints. For guided teaching, use our Python tutorials. For quick checks, try quizzes or copy snippets from code samples.