如何在 Python 中将列表转换为空格分隔的字符串?
例如,我想转换这个列表:
my_list = [how,are,you]
进入字符串"how are you"
空间很重要。howareyou
到目前为止,我不想像我尝试使用的那样得到
"".join(my_list)
" ".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)
需要注意的事项:
string
与 的元素连接的iterable
。元素之间的分隔符是string_name
.iterable
都会引发TypeError
现在,要添加空格,我们只需要用string_name
a" "
或 a替换' '
它们,它们都可以工作并放置iterable
我们想要连接的。
因此,我们的函数将如下所示:
' '.join(my_list)
但是,如果我们想在 中的元素之间添加特定数量的white spaces
initerable
怎么办?
我们需要添加这个:
str(number*" ").join(iterable)
在这里,number
将是用户输入。
所以,例如如果number=4
。
然后,str(4*" ").join(my_list)
will 的输出是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 "]