Речь идет о типе значения, которое каждая функция принимает в качестве своего параметра.
break_words возвращает список. sort_words использует встроенную функцию sorted (), которая ожидает передачи списка. Это означает, что параметр, который вы передаете sort_words, должен быть списком.
Может быть, следующий пример иллюстрирует это:
>>> sort_words(break_words(sentence))
['My', 'O-S-C-A-R', 'a', 'balogna', 'first', 'has', "it's", 'name,']
Обратите внимание, что Python по умолчанию полезен, хотя иногда это может сбивать с толку. Поэтому, если вы передадите строку в sorted (), она будет обрабатываться как список символов.
>>> sorted("foo bar wibble")
[' ', ' ', 'a', 'b', 'b', 'b', 'e', 'f', 'i', 'l', 'o', 'o', 'r', 'w']
>>> sorted(["foo", "bar", "wibble"])
['bar', 'foo', 'wibble']