s = " hello world "
print(" ".join(s.split()))
hello world
Задача демонстрирует работу с методом split()
и join()
для обработки строк в Python.
Разберем код:
s = " hello world "
: Инициализируется строковая переменная s
, содержащая пробелы в начале, между словами и в конце.
s.split()
: Метод split()
вызывается без аргументов, что означает разделение строки по любым последовательностям пробельных символов (пробелы, табуляции, переводы строк). В результате возвращается список слов, при этом начальные, конечные и множественные пробелы между словами игнорируются. В данном случае, s.split()
вернет ['hello', 'world']
.
" ".join(...)
: Метод join()
вызывается у строки " "
(один пробел). Он принимает список строк в качестве аргумента и объединяет их в одну строку, вставляя строку, у которой вызывается метод join()
(в данном случае, один пробел), между каждым элементом списка. В нашем случае, " ".join(['hello', 'world'])
создаст строку "hello world"
.
print(...)
: Функция print()
выводит полученную строку в консоль.
Результат:
Код выведет в консоль строку "hello world"
, удалив все лишние пробелы в начале, конце и между словами.
Альтернативные решения:
Хотя предложенное решение является наиболее идиоматичным, можно достичь того же результата, используя другие подходы:
import re
s = " hello world "
print(re.sub(r"\s+", " ", s).strip())
Этот вариант заменяет все последовательности пробелов одним пробелом, а затем удаляет пробелы в начале и конце строки.
Важность на собеседовании:
Эта задача проверяет базовые знания работы со строками в Python, понимание методов split()
и join()
, а также умение обрабатывать пробельные символы. Она также может указывать на знакомство с идиоматичным стилем кодирования в Python. Знание альтернативных решений (например, с использованием регулярных выражений) покажет более глубокое понимание инструментов и возможностей языка.