RichieHindle имеет это право, за исключением того, что
substrings.sort(key=len)
- лучший способ выразить это, чем лишняя лямбда ;-).
Если вы используете Python 2.5 или более позднюю версию, min (substrings, key = len) на самом деле даст вам одну самую короткую строку (первую, если несколько строк связывают для "самой короткой"), немного быстрее, чем сортировка конечно, взяв [0] -й элемент. Но если вы застряли с 2.4 или более ранней версией, подход RichieHindle - лучшая альтернатива.