为什么Python"" .split()和"" .split(",")会产生不同的结果?

时间:2015-04-12 04:56:27

标签: python string split

这是我对带有默认分隔符的空字符串应用split()并在Python中使用“,”作为分隔符的结果。

>>> print "".split(',')
['']
>>> print "".split()
[]

有人可以解释为什么我们应该期待这种行为吗?

1 个答案:

答案 0 :(得分:8)

行为如记录(强调添加):

  

分裂(...)   S.split([sep [,maxsplit]]) - >字符串列表

     

返回字符串S中单词的列表,使用sep作为   分隔符字符串。如果给出maxsplit,最多是maxsplit       分裂完成。 如果未指定sep或者为None,则为any       空白字符串是一个分隔符,并删除空字符串       从结果。

只有在指定分隔符时才会删除空字符串。

使用来自Python的交互式提示符的help

$ python
Python 2.7.3 (default, Mar 13 2014, 11:03:55) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s = ""
>>> s.split()
[]
>>> help(s.split)

这提供了上面引用的信息。