Python str.split()细节小记

str.split()是Python中用来分割字符串的函数。其函数原型如下:

str.split(str="", num=string.count(str)).

其中,str是分割符,num是分割次数(默认-1)。
其分割符默认为空格是很多教程上的说法,但其实不完全准确。

s = ' '
s.split()  # 默认分割符
s.split(' ')  # 空格为分割符

按默认分割符为空格的说法,我一直以为两者没有区别,平常使用也确实如此。直到这次做算法题发现使用这两种写法答案不一样,发现两者确实有区别。
其输出如下:

[]  # 默认分割符
['', '']  # 空格为分割符

经过查找发现默认分割符还包含 \n

str = "test1 \ntest2 \ntest3";
print str.split( );  # 以空格为分隔符,包含 \n
print str.split(' ');  # 以空格为分隔符
['test1', 'test2', 'test3']
['test1', '\ntest2', '\ntest3']

so,写代码还是指定分割符比较稳妥。


版权声明:本文为qq_41648043原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。