这是正确的行为吗?
>>> ''.split(' ')
['']
它不应该是一个空阵列吗?我的意思是,空字符串中没有空格,所以没有什么可以拆分,它应该是[],不是吗?
当我使用None作为分隔符时,它是空数组:
>>> ''.split()
[]
答案 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
使用指定的分隔符拆分空字符串会返回['']。