Объединение элемента в список строк

Есть ли более простой способ объединить строковые элементы в списке в одну строку?

Могу ли я использовать str.join() для объединения элементов в список?

Например, это вход ['this','is','a','sentence'] и это желаемый результат this-is-a-sentence

 sentence = ['this','is','a','sentence'] sent_str = "" for i in sentence: sent_str += str(i) + "-" sent_str = sent_str[:-1] print sent_str 

4 Solutions collect form web for “Объединение элемента в список строк”

Использовать join :

 >>> sentence = ['this','is','a','sentence'] >>> '-'.join(sentence) 'this-is-a-sentence' 

Более общий способ преобразования списков python в строки:

 >>> my_lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> my_lst_str = ''.join(map(str, my_lst)) >>> print(my_lst_str) '12345678910' 

Для новичков очень полезно знать, почему join – это строковый метод

Это очень странно в начале, но очень полезно после этого.

Результатом объединения всегда является строка, но подлежащий объединению объект может быть многих типов (генераторы, список, кортежи и т. Д.),

.join быстрее, потому что он выделяет память только один раз. Лучше классической конкатенации. расширенное объяснение

Как только вы узнаете об этом, это очень удобно, и вы можете делать трюки, подобные этому, для добавления скобок.

  >>> ",".join("12345").join(("(",")")) '(1,2,3,4,5)' >>> lista=["(",")"] >>> ",".join("12345").join(lista) '(1,2,3,4,5)' 

Хотя ответ @Burnhad Khalid хороший, я думаю, что его более понятно:

 from str import join sentence = ['this','is','a','sentence'] join(sentence, "-") 

Второй аргумент для join () является необязательным и по умолчанию используется значение "".

EDIT: эта функция была удалена в Python 3

  • Объединение списков, содержащих общие элементы
  • Как объединить эти две строки кода в один (Python 3.X)?
  • Объединяйте данные о кадрах панд, где одно значение находится между двумя другими
  • Присоедините разделенные слова и пунктуацию пунктуацией в нужном месте
  • Почему я не могу назначить часть моего Pandas DataFrame?
  • Объединение двух таблиц с миллионами строк в Python
  • Как я могу создать произвольный генератор кода hexdigit с использованием .join и для циклов?
  • Присоединить Recarrays по атрибутам в Python
  • pandas: объединение (объединение) двух кадров данных на нескольких столбцах
  • Python - лучший язык программирования в мире.