Split()函数使用空格字符串作为分隔符并删除空字符串,因此我认为使用strip()或rstrip()函数删除头部或尾部多余的空格没有用。这是我的示例:
a = ' \n 1 2 3 4 \n\n 5 \n\n \t'
b = a.rstrip().split()
c = a.split()
print('b =',b)
print('c =',c)
结果证明是:
b = ['1', '2', '3', '4', '5']
c = ['1', '2', '3', '4', '5']
看起来之间没有什么区别。但是,前一个(intput().strip().split()
)似乎使用更广泛。那么这两个表达式有什么区别?
答案 0 :(得分:3)
没有区别。 split()
默认情况下忽略输入末端的空格。人们之所以打电话给strip()
是因为他们认为更清楚,或者因为他们不知道split()
的这种行为。
Docs:
如果未指定sep或将其设置为None,则将应用不同的拆分算法:连续的空白行将被视为单个分隔符,并且如果字符串的开头或结尾处为空白,则结果将不包含空字符串空格。因此,使用空分隔符分割空字符串或仅包含空格的字符串将返回[]。