如何在Python中将列表转换为带空格的字符串?


92

如何在Python中将列表转换为以空格分隔的字符串?

例如,我要转换此列表:

my_list = [how,are,you]

入弦 "how are you"

空间很重要。howareyou到目前为止,我不希望自己尝试使用

"".join(my_list)

18
提示:请勿将其list用作变量名。
Tim Pietzcker 2012年

Answers:


194
" ".join(my_list)

您需要使用空格而不是空字符串来连接...


7
这样的代码就是为什么我喜欢Python。很简单。
2015年

如果我们有这种格式的字符串怎么办,list = ['how ', 'are ', 'you '] 然后如何将其转换为列表呢?
穆罕默德·塔吉

1
@MuhammadTaqi然后只剥去元件BE4接合..." ".join([i.strip() for i in my_list)
JACK张

17

我会把它作为替代品,尽管它与" ".join(my_list)字符串相比几乎没有用。对于非字符串(例如int数组),这可能会更好:

" ".join(str(item) for item in my_list)

7

对于非字符串,list我们也可以这样做

" ".join(map(str, my_list))

2

因此,为了获得所需的输出,我们首先应该知道该函数的工作方式。

join()python文档中描述的method的语法如下:

string_name.join(iterable)

注意事项:

  • 它返回string与的元素串联在一起iterable。元素之间的分隔符是string_name
  • 中的任何非字符串值iterable都会引发TypeError

现在,要添加空格,我们只需要将a替换为string_namea" "' '两者都将起作用并放置iterable我们想要连接的。

因此,我们的函数将如下所示:

' '.join(my_list)

但是,如果我们想white spaces在元素之间添加特定数量的initerable呢?

我们需要添加以下内容:

str(number*" ").join(iterable)

在这里,number将是用户输入。

因此,例如if number=4

然后,str(4*" ").join(my_list)will的输出为how are you,因此在每个单词之间有4个空格。



-9

为什么不在列表本身的项目中添加空格,例如:
list = ["how ", "are ", "you "]


您以某种方式使该答案以注释的形式显得更合适。如果您扩展此答案以解释您的建议为何有效,那将更加有益。
Andon M. Coleman

1
在您无权访问列表的情况下,此功能不起作用(例如,当使用生成时input(a).split(b)
TheSola10

我们不应该更改内部字符串,因为它会导致我们失去空间
Deepak Yadav
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.