带列表的python concat字符串

Python concat string with list

本问题已经有最佳答案,请猛点这里访问。

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

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

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

我得到:hellogoodmorning

有没有一种方法可以让我在每个词之间留出一个空格?(不需要编写for循环)

亲切的问候。


您需要做的只是在join前面添加空间。

1
 ' '.join(list)

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

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


像其他人提到的那样,' '.join(...)是最简单的方法。事实上,在所有情况下都是这样做的首选方法(即使没有填充物连接,也只需使用''.join(...))。

虽然它还有一些有用的功能…大多数string模块函数都是在str类型/对象上生成的方法。

您可以在python文档的deprecated string函数部分找到不推荐使用的字符串函数(包括join)的完整列表。


这就是你想要的:

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

通常,在某些字符串上调用join()时,使用""指定列表元素之间的分隔符。


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

或者可以使用string.join()函数,该函数使用单个空格作为默认分隔符。

1
2
3
4
5
6
7
8
9
>>> 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.

例子:

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