如何在Python中将列表转换为以空格分隔的字符串?
例如,我想转换此列表:
my_list = [how,are,you]
进入字符串"how are you"
空间很重要。我不想得到howareyou
,就像我迄今为止尝试使用的那样
"".join(my_list)
" ".join(my_list)
你需要加入空格而不是空字符串......
我会把它作为一种替代方案,只是为了它,尽管与" ".join(my_list)
相比,它几乎没用。对于非字符串(例如int的数组),这可能更好:
" ".join(str(item) for item in my_list)
对于Non String list
,我们也可以这样做
" ".join(map(str, my_list))
因此,为了获得所需的输出,我们首先应该知道该函数是如何工作的。
python文档中描述的join()
方法的语法如下:
string_name.join(iterable)
需要注意的事项:
string
元素连接的iterable
。元素之间的分隔符是string_name
。iterable
中的任何非字符串值都会引发TypeError
现在,要添加空格,我们只需要用string_name
或" "
替换' '
它们都可以工作并放置我们想要连接的iterable
。
所以,我们的函数看起来像这样:
' '.join(my_list)
但是,如果我们想在white spaces
中添加特定数量的iterable
呢?
我们只需要这样做:
str(number*" ").join(iterable)
这里number
将是用户输入。
所以,例如,如果number=4
。
然后,str(4*" ").join(my_list)
的输出将是how are you
,所以在每个单词之间有4个空格。
为什么不在列表本身的项目中添加空格,例如:
list = ["how ", "are ", "you "]