← Все вопросы

split() даёт список, а мне надо обратно собрать слова в строку через пробел — как?

Задан 24 месяца назад369 просмотров2 ответа
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.

Ваш ответ

Войдите, чтобы ответить на вопрос.