将空格分隔为空格作为分隔符返回['']

时间:2014-10-21 11:19:46

标签: python

这是正确的行为吗?

>>> ''.split(' ')
['']

它不应该是一个空阵列吗?我的意思是,空字符串中没有空格,所以没有什么可以拆分,它应该是[],不是吗?

当我使用None作为分隔符时,它是空数组:

>>> ''.split()
[]

2 个答案:

答案 0 :(得分:1)

我认为doc已经解释了这种行为

  

如果给出了sep,则连续的分隔符不会组合在一起,并被视为分隔空字符串(例如,   '1,,2'.split(',')返回['1','','2'])。 sep参数可以   由多个字符组成(例如,'1<><>>>>><>'>   返回['1','2','3'])。拆分指定的空字符串   separator返回['']。

     

如果未指定sep或为None,则应用不同的拆分算法:连续空格的运行被视为   单个分隔符,结果将不包含空字符串   如果字符串具有前导或尾随空格,则开始或结束。   因此,拆分一个空字符串或一个由just组成的字符串   带有无分隔符的空格返回[]。

答案 1 :(得分:1)

Python docs explicitly specify this behavior

  

使用指定的分隔符拆分空字符串会返回['']。