HomeProblems › Sorting words by length

Sorting words by length

🧠 Predict the output Topic: sorting Difficulty: hard Free

What this problem practises

The two sorting APIs are not interchangeable: sorted() returns a brand-new list while list.sort() sorts in place and returns None. Key functions compare the values they extract, and comparing mixed types raises TypeError.

This is an output-prediction problem: read the snippet carefully and write down exactly what it prints before anything runs. These questions are interview staples because they test whether you know the language rules, or merely recognise their syntax.

Difficulty: hard — the naive reading is wrong, and the answer depends on tracking state precisely through the snippet.

The challenge

What will this program print? Type the exact output.

The code runs in PyDebug’s in-browser compiler. Open the problem, run the snippet, watch the exact error or output, and keep iterating until it is right. Signed-in solves count toward XP and your daily streak.

The snippet

The interactive editor pre-fills exactly this code — read it, then submit your prediction:

words = ['up', 'snake', 'moon', 'sun']
print(sorted(words, key=len))
Solve it in the interactive editor →

More sorting problems

Keep going