创建文本行,'\ n'。join(my_list)缺少尾随换行符:-(

时间:2016-04-15 09:36:47

标签: python string

我想将N个字符串连接到新字符串。每个项目一行:

my_list=['one', 'two', 'three']
lines='\n'.join(my_list)

不幸的是,我需要lines中每一行末尾的尾随换行符。在上面的解决方案中,最后一行缺少换行符。

我搜索一个简单易用的新手解决方案。

...我使用Python 2.7

4 个答案:

答案 0 :(得分:3)

只需像这样添加另一个\n(因为join()的输出也是一个字符串):

my_list=['one', 'two', 'three']
print '\n'.join(my_list)+'\n'

答案 1 :(得分:1)

或者手动添加到join的返回值,您也可以(手动)将空字符串附加到列表中。

>>> my_list=['one', 'two', 'three']
>>> my_list.append('')
>>> '\n'.join(my_list)
'one\ntwo\nthree\n'

答案 2 :(得分:1)

在Python 3.6中,您还可以使用生成器表达式(PEP289):

''.join(f"{row}\n" for row in my_list)

对我来说比较干净。

答案 3 :(得分:0)

之前使用print,它可以工作:

>>> print '\n'.join(ls)
one
two
three
>>> 

检查this answer,了解有关字符串和字符串表示的差异的详细信息,如提到的here

Here,您也可以找到解决方案。