.split(" ") 与 .split() 之间有区别吗

python中的.split(' ')vs之间有根本区别吗?.split()我相信.split()的默认值是空格,所以两者应该相同,但我在 hackerrank 上得到不同的结果。



MM们
浏览 178回答 4
4回答

慕虎7371278

根据文档(针对 Python 3.8,并强调):如果sep未指定或为None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾不包含空字符串。所以,不,它们不是一回事。例如(注意在开始和结束处有一个和一个之间有两个空格):AB>>> s = " A  B ">>> s.split()['A', 'B']>>> s.split(" ")['', 'A', '', 'B', '']此外,连续的空白意味着任何空白字符,而不仅仅是空格:>>> s = " A\t  \t\n\rB ">>> s.split()['A', 'B']>>> s.split(" ")['', 'A\t', '', '\t\n\rB', '']

潇湘沐

>>> print ''.split.__doc__S.split([sep [,maxsplit]]) -> list of stringsReturn a list of the words in the string S, using sep as thedelimiter string.  If maxsplit is given, at most maxsplitsplits are done. If sep is not specified or is None, anywhitespace string is a separator and empty strings are removedfrom the result.

牧羊人nacy

此处的文档str.split(sep=None, maxsplit=-1)。笔记:如果 sep 未指定或为 None,则应用不同的拆分算法:连续空格的运行被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾不包含空字符串。因此,用 None 分隔符拆分空字符串或仅由空格组成的字符串会返回 []。>>> a = " hello world ">>> a.split(" ")['', 'hello', 'world', '']>>> a.split()['hello', 'world']>>> b = "hello           world">>> b.split(" ")['hello', '', '', '', '', '', '', '', '', '', '', 'world']>>> b.split()['hello', 'world']>>> c = "       ">>> c.split(" ")['', '', '', '', '', '', '', '']>>> c.split()[]

绝地无双

正如文档中明确提到的:如果sep未指定或为None,则应用不同的拆分算法:连续的空格被视为单个分隔符,如果字符串具有前导或尾随空格,则结果将在开头或结尾不包含空字符串。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python