← Все вопросы
split() даёт список, а мне надо обратно собрать слова в строку через пробел — как?
5
Разбил предложение на слова через .split(), поработал со списком, а теперь хочу склеить слова обратно в одну строку, чтобы между ними были пробелы. Через цикл с плюсами как-то коряво получается. Есть нормальный способ?
2 ответа
11
✓ Принятый ответ — помог автору
Да, есть метод .join() — это как бы «обратный split». Ставишь разделитель и говоришь, какой список соединить:
words = ['привет', 'как', 'дела']
result = ' '.join(words)
print(result) # привет как дела
Строка перед .join ( в примере) — это то, что вставится между словами. Можно склеить через запятую: ', '.join(words). Важно: в списке должны быть только строки, иначе будет ошибка — числа сначала переведи в строки.
4
Если в списке числа, оберни их в str прямо при склейке:
nums = [1, 2, 3]
print('-'.join(str(x) for x in nums)) # 1-2-3
Иначе join ругнётся, что ждёт строки, а не int.
Ваш ответ
Войдите, чтобы ответить на вопрос.