Python如何将字符串与列表拼接?

48

我想从一个列表中构建一个字符串。

我使用了string.join()命令,但如果我有:

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

我得到: hellogoodmorning

有没有一种方法可以使每个单词之间都有空格?(不需要编写for循环)

谢谢。


3
为什么不直接展示你是如何使用“string.join()”命令的呢? - Karl Knechtel
我同意@KarlKnechtel的观点,添加导致不良结果的(最小)代码会很有帮助。在这里,我猜测代码是''。join(['hello','good','morning']) - Qaswed
5个回答

85

你所需要做的就是在 join 前面加上一个空格。

 ' '.join(list)

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

连接字符串列表的标准且最佳方法。我想不出比这更好的了。


6
这是您想要的实现方式:
" ".join(['hello', 'good', 'morning'])

通常情况下,当你在调用join()方法时,需使用" "指定列表元素之间的分隔符。

4

' '.join(...) 是最简单的方法,正如其他人所提到的。实际上,在所有情况下,这都是首选的方法(即使您没有填充就加入,只需使用'' .join(...))。

虽然它仍然具有一些有用的功能...但大多数string模块的函数已成为字符串类型/对象的方法。

您可以在python文档的Deprecated string functions部分中找到废弃的字符串函数(包括join)的完整列表。


3
>>> " ".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'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接