如何将其在Python中具有新线字符的字符串转换为列表



可能的重复:
在python中拆分弦

我想更改此信息:

str = 'bluenorangenyellownpinknblack'

list = ['blue','orange', 'yellow', 'pink', 'black']

我尝试了一些循环,但无法做到。我只希望触发下一个元素时删除newline字符。有人告诉我使用:

list(str)

给出

['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']

之后,我使用.remove(),但仅删除一个'n',并且代码变得更加复杂,可以拼写颜色。

您想要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

最新更新