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,写代码还是指定分割符比较稳妥。