在每个空格中插入\ n以获取多个字符串python

时间:2018-07-25 23:03:14

标签: python string

我有一个字符串列表:

['Hello Yes', 'Good Now Order', 'Been There Before', 'Because']

我要将其重写为:

['Hello\nYes', 'Good\nNow\nOrder', 'Been\nThere\nBefore', 'Because']

因此\n进入除字符串开头或结尾之外的所有空格。

我已经在for循环中尝试过.split(' '),但这很混乱,然后不确定如何在最后重新加入。

3 个答案:

答案 0 :(得分:5)

您可以尝试以下建议的拆分和合并方法:

l = ['Hello Yes', 'Good Now Order', 'Been There Before', 'Because']
l_new = ['\n'.join(s.split()) for s in l]  
# this would replace any sequence of whitespace by a single line break

或者使用str.replace更加清晰易懂:

l_new = [s.replace(' ', '\n') for s in l]
# this will replace all and only space characters

答案 1 :(得分:3)

尝试列表理解(这将返回一个新列表,每个元素都与旧元素相同,但用换行符替换空格):

[element.replace(' ', '\n') for element in ls]

其中ls是您的列表。

或者,您可以使用replace方法进行for循环。

答案 2 :(得分:0)

l = ['Hello Yes', 'Good Now Order', 'Been There Before', 'Because']
list(map('\n'.join, map(str.split, l)))
# ['Hello\nYes', 'Good\nNow\nOrder', 'Been\nThere\nBefore', 'Because']