我想从列表中构建一个字符串。
我使用了string.join()命令,但是如果我有:
['hello', 'good', 'morning']
我得到:hellogoodmorning
有没有一种方法可以让我在每个单词之间加一个空格? (无需编写for循环)
亲切的问候。答案 0 :(得分:57)
您需要做的就是在连接前添加空间。
' '.join(list)
答案 1 :(得分:18)
>>> ' '.join(['hello', 'good', 'morning'])
'hello good morning'
加入字符串列表的标准和最佳方式。我想不出比这更好的东西。
答案 2 :(得分:4)
这样做你想要的:
" ".join(['hello', 'good', 'morning'])
通常,当您在某个字符串上调用join()
时,使用" "
指定列表元素之间的分隔符。
答案 3 :(得分:4)
' '.join(...)
是其他人提到的最简单方法。事实上,它是在所有情况下执行此操作的首选方法(即使您没有填充,只需使用''.join(...)
)。
虽然它仍然有一些有用的功能......大多数string
模块函数都是str类型/对象上的方法。
您可以在python docs的Deprecated string functions部分找到已弃用的字符串函数的完整列表(包括join
)。
答案 4 :(得分: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'