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

tra*_*uan 1 python string split

当我将split()应用于具有默认分隔符的空字符串并在Python中使用","作为分隔符时,这就是结果.

>>> print "".split(',')
['']
>>> print "".split()
[]
Run Code Online (Sandbox Code Playgroud)

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

Joh*_*024 8

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

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

使用sep作为分隔符字符串,返回字符串S中的单词列表.如果给出maxsplit,则最多完成maxsplit分割.如果未指定sep或为None,则任何空格字符串都是分隔符,并从结果中删除空字符串.

仅当您未指定分隔符时才会删除空字符串.

使用helpFrom Python的交互式提示

$ 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)
Run Code Online (Sandbox Code Playgroud)

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