Когда вы передаете lambdaв sort, вам нужно вернуть целое число, а не логическое значение. Поэтому ваш код должен выглядеть следующим образом:
xs.sort(lambda x,y: cmp(len(x), len(y)))
Обратите внимание, что cmp - это встроенная функция, которая cmp(x, y)возвращает -1, если xменьше y, 0, если xравно y, и 1, если xбольше y.
Конечно, вы можете вместо этого использовать keyпараметр:
xs.sort(key=lambda s: len(s))
Это говорит sortметоду о порядке на основе того, что возвращает функция ключа.
РЕДАКТИРОВАТЬ: Спасибо balpha и Руслану ниже за то, что они указали, что вы можете просто передать lenнапрямую в качестве ключевого параметра функции, тем самым устраняя необходимость в lambda:
xs.sort(key=len)
И, как Руслан указывает ниже, вы также можете использовать встроенную функцию сортировки, а не list.sortметод, который создает новый список, а не сортирует существующий на месте:
print(sorted(xs, key=len))
lambda; просто используйтеkey = len