Функция join() в Python применяется исключительно к строкам, потому что её результат всегда — строка. 2
Метод может использоваться с любым итерируемым объектом (например, списком, кортежем, множеством), но его содержимое и «joiner» должны быть строками. 13 Если передать функции что-то, отличное от строк, произойдёт ошибка. 1