Ответ 1
Все, что вам нужно сделать, это добавить пространство перед соединением.
' '.join(list)
Я хотел построить строку из списка.
Я использовал команду string.join(), но если у меня есть:
['hello', 'good', 'morning']
Я получаю: hellogoodmorning
Есть ли способ, который позволяет мне помещать пробел между каждым словом? (без необходимости писать цикл for)
с уважением.
Все, что вам нужно сделать, это добавить пространство перед соединением.
' '.join(list)
>>> ' '.join(['hello', 'good', 'morning'])
'hello good morning'
Стандартный и лучший способ присоединиться к списку строк. Я не могу придумать ничего лучше этого.
Это делает то, что вы хотите:
" ".join(['hello', 'good', 'morning'])
Как правило, когда вы вызываете join()
на некоторой строке, вы используете " "
для указания разделителя между элементами списка.
' '.join(...)
- самый простой способ, о котором говорили другие. И на самом деле это предпочтительный способ сделать это во всех случаях (даже если вы присоединяетесь без прокладки, просто используйте ''.join(...)
).
Хотя он все еще имеет некоторые полезные функции... большинство функций string
модулей были сделаны методами для типа str/object.
Полный список устаревших строковых функций (включая join
) можно найти в разделе " Устаревшие строковые функции " документов python.
>>> " ".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'