繁体   English   中英

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

[英]How do I convert a list into a string with spaces in Python?

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

例如,我想转换这个列表:

my_list = ["how", "are", "you"]

进入字符串"how are you"

空格很重要。 我不想得到"howareyou"

" ".join(my_list)

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

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

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

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

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

因此,为了实现所需的输出,我们首先应该知道该函数是如何工作的。

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

string_name.join(iterable)

需要注意的事项:

  • 它返回一个与iterable元素连接的string 元素之间的分隔符是string_name
  • iterable中的任何非字符串值都会引发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 个空格。

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

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

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

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())

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM