如何将包含换行符的字符串转换为Python中的列表?

Isr*_* CA 9 python string newline list

可能重复:
在python中拆分一个字符串

我想改变这个:

str = 'blue\norange\nyellow\npink\nblack'
Run Code Online (Sandbox Code Playgroud)

对此:

list = ['blue','orange', 'yellow', 'pink', 'black']
Run Code Online (Sandbox Code Playgroud)

我尝试了一些for和while循环并且无法做到.我只想在触发下一个元素的同时删除换行符.有人告诉我使用:

list(str)
Run Code Online (Sandbox Code Playgroud)

这使

['b', 'l', 'u', 'e', '\n', 'o', 'r', 'a', 'n', 'g', 'e', '\n', 'y', 'e', 'l', 'l', 'o', 'w', '\n', 'p', 'i', 'n', 'k', '\n', 'b', 'l', 'a', 'c', 'k']
Run Code Online (Sandbox Code Playgroud)

在此之后我使用.remove()但只'\n'删除了一个并且代码变得更复杂以拼写颜色.

mgi*_*son 14

你想要your_str.splitlines(),或者可能只是your_str.split('\n')

使用for循环 - 仅供教学使用:

out = []
buff = []
for c in your_str:
    if c == '\n':
        out.append(''.join(buff))
        buff = []
    else:
        buff.append(c)
else:
    if buff:
       out.append(''.join(buff))

print out
Run Code Online (Sandbox Code Playgroud)

  • `.split('\n')` 对我有用:) 谢谢 (2认同)