← Все вопросы

Как соединить список строк в одну строку через join?

Задан 19 месяцев назад1.3к просмотров3 ответа
16

Обратная задача к split: есть список ["2026", "06", "16"], хочу склеить в "2026-06-16". Пробовал list.join("-") — ошибка. Что не так?

3 ответа

24
✓ Принятый ответ — помог автору

join вызывается у строки-разделителя, а не у списка. Правильно так:

parts = ["2026", "06", "16"]
result = "-".join(parts)
print(result)  # 2026-06-16

Логика «разделитель.join(список)» поначалу выглядит странно, но запомни: слева то, что будет МЕЖДУ элементами. Для склейки без разделителя — "".join(parts).

Степан Голубев автор: спасибо, принято · 19 месяцев назад
Кирилл Борисов наконец понял почему именно у строки 😄 · 19 месяцев назад
9

Ещё важно: в списке должны быть строки. Если там числа — join упадёт с TypeError. Тогда сначала переведи в строки: "-".join(str(x) for x in nums).

Галина Попова да, на этом часто спотыкаются · 19 месяцев назад
5

"-".join(parts).

Ваш ответ

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