Home › Problems › 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 = ['dog', 'go', 'snake', 'moon']
print(sorted(words, key=len))More problems
Keep going
- Output-prediction strategies — how to predict tricky snippets without running them.
- Browse every sorting problem in this topic.
- Common Python errors and what they actually mean, plus the Python glossary for any term used on this page.