我想在空格上拆分一个字符串(默认行为),但我希望它只拆分一次 - 也就是说我希望它返回一个最多包含2个项目的数组.
如果不可能 - 即如果为了指定限制我还必须指定模式 - 你能告诉我们如何指定默认模式吗?
Mik*_*ler 15
这有效:
>>> 'a b c'.split(None, 1)
['a', 'b c']
Run Code Online (Sandbox Code Playgroud)
文档字符串:
S.split(sep = None,maxsplit = -1) - >字符串列表
使用sep作为分隔符字符串,返回S中单词的列表.如果给出maxsplit,则最多完成maxsplit分割.如果未指定sep或为None,则任何空格字符串都是分隔符,并从结果中删除空字符串.
您应该在交互式提示中进行探索:
>>> help('a'.split)
Run Code Online (Sandbox Code Playgroud)
在IPython中只需使用问号:
In [1]: s = 'a'
In [2]: s.split?
Run Code Online (Sandbox Code Playgroud)
我建议使用IPython,尤其是Notebook.这使得这种探索更加方便.
如果您指定None为分隔符,您将获得默认行为:
str.split(None, maxsplit)
Run Code Online (Sandbox Code Playgroud)
S.split([sep [,maxsplit]]) -> 字符串列表
返回字符串 S 中的单词列表,使用 sep 作为分隔符字符串。如果给出 maxsplit,则最多完成 maxsplit 分割。如果未指定 sep 或为 None,则任何空白字符串都是分隔符,并且将从结果中删除空字符串。
\xe2\x80\xa0如果字符串具有前导或尾随空格,则结果列表将不包含前导或尾随空字符串 ( )\n \xe2\x80\xa0\xe2\x80\xa0从左到右进行拆分。要以另一种方式(从右到左)分割,请使用该方法(需要 Python 2.4+)""str.rsplit()
\n\n\n\n 使用
str.split(sep[, maxsplit]])str.split(None, maxsplit)\n\n注意:
\n\n
\n 指定sep为None\xe2\x89\x9d未指定sep\n
str.split(None, -1)\xe2\x89\x9dstr.split()\xe2\x89\x9dstr.split(None)
\n\n\n 选项 A:坚持使用位置参数(Python 2 选项):
str.split(sep=None, maxsplit=-1)str.split(None, maxsplit)\n>>>\n\n\' 4 2 0 \'.split(None, 420)\n[\'4\', \'2\', \'0\']\n选项 B(个人偏好,使用关键字参数):\n
str.split(maxsplit=maxsplit)>>> \' 4 2 0 \'.split(maxsplit=420)` \n[\'4\', \'2\', \'0\']\n\n