换行符也通过拆分删除

newlines also removed by splitting

我试图制作一个压缩算法和一个在 python 中使用它的压缩器。 在这样做的同时,我看到在压缩一些示例文本时,换行符消失了。 经过一些调试,我发现 split() 函数正在删除换行符。 我多次将字符串转换为列表,将列表转换为字符串,但这次 split() 函数删除了所有换行符。如果它是一个字符串:

i
hate foo
bar why do people use it what does it even mean

但是在调用split()之后变成:

['i', 'hate', 'foo', 'bar', 'why', 'do', 'people', 'use', 'it', 'what', 'does', 'it', 'even', 'mean']

split() 没有给定参数会在任何 whitespaces 处拆分,换行符 (\n) 是 whitespaces 之一。如果您只想在 space 个字符处拆分,则提供 " " 作为拆分的第一个参数,即

text = '''i
hate foo
bar why do people use it what does it even mean'''
elements = text.split(" ")
print(elements)

输出

['i\nhate', 'foo\nbar', 'why', 'do', 'people', 'use', 'it', 'what', 'does', 'it', 'even', 'mean']