Вывод будет 3: числа превращаются в строки, join соединяет их через один пробел, а len считает символы строки «0 1».
print(len(' '.join(map(str, [0, 1]))))
Вывод будет 3: числа превращаются в строки, join соединяет их через один пробел, а len считает символы строки «0 1».
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Вывод будет 3: числа превращаются в строки, join соединяет их через один пробел, а len считает символы строки «0 1».
Преобразования идут последовательно: map(str, [0, 1]) даёт строки "0" и "1"; ' '.join(...) создаёт "0 1". В ней два символа цифр и один пробел.
map в Python 3 возвращает итератор, который join потребляет при построении строки. len здесь применяется уже к готовой строке, а не к map и не к исходному списку.