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

Posted

技术标签:

【中文标题】如何在 Python 中将列表转换为带有空格的字符串?【英文标题】:How do I convert a list into a string with spaces in Python? 【发布时间】:2012-08-31 20:34:45 【问题描述】:

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

比如我要转换这个列表:

my_list = [how,are,you]

进入字符串"how are you"

空格很重要。我不想得到howareyou,就像我迄今为止尝试使用的那样

"".join(my_list)

【问题讨论】:

Protip:不要使用list作为变量名。 【参考方案1】:
" ".join(my_list)

你需要加入一个空格,而不是一个空字符串。

【讨论】:

这样的代码是我喜欢 Python 的原因。如此简单。 如果我们有list = ['how ', 'are ', 'you ']这种格式的字符串,那么如何将其转换为列表。 @MuhammadTaqi 然后去掉元素 be4 加入..." ".join([i.strip() for i in my_list)【参考方案2】:

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

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

所以为了达到想要的输出,我们首先要知道函数是如何工作的。

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

string_name.join(iterable)

注意事项:

它返回一个与iterable 的元素连接的string。元素之间的分隔符是string_nameiterable 中的任何非字符串值都会引发TypeError

现在,要添加空格,我们只需将string_name 替换为" "' ',它们都可以工作并放置我们想要的iterable连接。

所以,我们的函数看起来像这样:

' '.join(my_list)

但是,如果我们想在 iterable 的元素之间添加特定数量的 white spaces 怎么办?

我们需要添加这个:

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

这里,number 将是用户输入。

所以,例如如果number=4

那么,str(4*" ").join(my_list) 的输出将是how are you,因此每个单词之间有 4 个空格。

【讨论】:

【参考方案5】:

"".join([i for i in my_list])

这应该像你问的那样工作!

【讨论】:

【参考方案6】:

你可以遍历它来做到这一点

my_list = ['how', 'are', 'you']
my_string = " "
for a in my_list:
    my_string = my_string + ' ' + a
print(my_string)

输出是

 how are you

你可以把它剥离得到

how are you

喜欢这个

my_list = ['how', 'are', 'you']
my_string = " "
for a in my_list:
    my_string = my_string + ' ' + a
print(my_string.strip())

【讨论】:

【参考方案7】:

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

【讨论】:

您写这个答案的方式使它看起来更适合以评论的形式出现。如果您扩展此答案以解释为什么您的建议有效,那会更有益。 在您无权访问列表的情况下(例如使用input(a).split(b) 生成时),这将不起作用 我们不应该更改内部字符串,因为它会导致我们丢失空间

以上是关于如何在 Python 中将列表转换为带有空格的字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中将文本字符串列表转换为熊猫数据框?

如何在python中将字符串列表转换为格式正确的json? [复制]

在python中将空格分隔文件转换为逗号分隔值文件

如何在python中将字符串转换为日期时间[重复]

在 Python 中将十六进制字符串转换为字节列表

在 Python 中将字符串列表转换为整数(或双精度)