慕虎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', '']
牧羊人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()[]