我想知道为什么下面的第二个打印语句不会删除输出中的\n
而第一个打印语句会删除输出。{p>
str1 = "Line1-abcdef \nLine2-abc \nLine4-abcd \ndfsdf"
print (str1.split( ))
print (str1.split(' ', 2))
答案 0 :(得分:5)
.split()
(不带参数)将在运行任何连续的空白字符时分裂。
因此它将自动将“ \ n”视为单个2个字符的分隔符。
.split(' ')
带有参数,现在将仅专门用于空格字符。
发件人:https://docs.python.org/3.7/library/stdtypes.html#str.split
如果未指定sep或将其设置为None,则将应用不同的拆分算法:连续的空白行将被视为单个分隔符,并且如果字符串的开头或结尾处为空白,则结果将不包含空字符串空格。因此,使用空分隔符分割空字符串或仅包含空格的字符串将返回[]。
除奖金外,.split()
不带任何参数可确保:
''
(空)或任何空白令牌这两个都是节省时间的实际方法。