2016-04-15 64 views
2

我想加入N個字符串到新的字符串爲每個項目中的一個行:創建文本行,「 n'.join(my_list)缺少結尾的新行:-(

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

不幸的是,我需要在lines每一行的末尾換行符。在上述方案中的最後一行缺少換行符。

我尋找一個簡單而新手友好的解決方案。

...我使用Python 2.7

回答

3

只需要添加另外\n像這樣的(因爲join()輸出也是一個字符串):

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

或者手動添加加盟的返回值,你可以(手動以及)追加空字符串你的清單。

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

沒有真正的理由這樣做。它看起來比'\ n'.join(my_list)+'\ n''更高效,但是由於python在不可變對象只有一個引用時作弊,它通常效率較低。在我的機器*和*上,追加方式的速度比我慢了25%左右,爲什麼添加''''與''\ n''相比並不明顯。 – Dunes

0

之前使用打印,它的工作原理:

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

檢查this answer的詳細信息,對字符串和喜歡提到here字符串表示的差異。

Here以及,你可以找到一個解決方案。

+0

對不起,我需要一個字符串。 'print()'不起作用。 – guettli

+0

@guettli:我需要更徹底地閱讀:)添加'\ n'是否可以幫助您像上面提到的那樣? – rocksteady

+0

「上面」在哪裏?兩個upvoted答案工作。 – guettli