Континентальная строка Python со списком

Я хотел построить строку из списка.

Я использовал команду string.join(), но если у меня есть:

['hello', 'good', 'morning']

Я получаю: hellogoodmorning

Есть ли способ, который позволяет мне помещать пробел между каждым словом? (без необходимости писать цикл for)

с уважением.

Ответ 1

Все, что вам нужно сделать, это добавить пространство перед соединением.

 ' '.join(list)

Ответ 2

>>> ' '.join(['hello', 'good', 'morning'])
'hello good morning'

Стандартный и лучший способ присоединиться к списку строк. Я не могу придумать ничего лучше этого.

Ответ 3

Это делает то, что вы хотите:

" ".join(['hello', 'good', 'morning'])

Как правило, когда вы вызываете join() на некоторой строке, вы используете " " для указания разделителя между элементами списка.

Ответ 4

' '.join(...) - самый простой способ, о котором говорили другие. И на самом деле это предпочтительный способ сделать это во всех случаях (даже если вы присоединяетесь без прокладки, просто используйте ''.join(...)).

Хотя он все еще имеет некоторые полезные функции... большинство функций string модулей были сделаны методами для типа str/object.

Полный список устаревших строковых функций (включая join) можно найти в разделе " Устаревшие строковые функции " документов python.

Ответ 5

>>> " ".join(['hello', "good", "morning"])
'hello good morning'

или вы можете использовать string.join(), которая использует одиночное пространство в качестве разделителя по умолчанию.

>>> help(string.join)
Help on function join in module string:

join(words, sep=' ')
    join(list [,sep]) -> string

    Return a string composed of the words in list, with
    intervening occurrences of sep.  The default separator is a
    single space.

пример:

>>> import string
>>> string.join(['hello', "good", "morning"])
'hello good morning'