Python:str.split();“限制”;参数

Python:str.split();“限制”;参数,python,string,Python,String,我想在空白处拆分一个字符串(默认行为),但我希望它只拆分一次,即,我希望它返回一个最多包含2项的数组 如果不可能,也就是说,如果要指定限制,我还必须指定模式,您能告诉我如何指定默认模式吗? >>> 'a b c'.split(None, 1) ['a', 'b c'] 文档字符串: S.split(sep=None,maxslit=-1)->字符串列表 使用sep作为输入,返回S中的单词列表 分隔符字符串。如果给定maxsplit,则最多为maxsplit 分割完成了。如果未

我想在空白处拆分一个字符串(默认行为),但我希望它只拆分一次,即,我希望它返回一个最多包含2项的数组

如果不可能,也就是说,如果要指定限制,我还必须指定模式,您能告诉我如何指定默认模式吗?

>>> 'a b c'.split(None, 1)
['a', 'b c']
文档字符串:

S.split(sep=None,maxslit=-1)->字符串列表

使用sep作为输入,返回S中的单词列表 分隔符字符串。如果给定maxsplit,则最多为maxsplit 分割完成了。如果未指定sep或无sep,则任何 空格字符串是分隔符,空字符串是分隔符 从结果中删除

您应该在交互式提示下浏览:

>>> help('a'.split)
在IPython中,只需使用问号:

In [1]:  s = 'a'
In [2]:  s.split?

我建议使用笔记本电脑,尤其是笔记本电脑。这使得这种探索更加方便。

如果指定
None
作为分隔符,您将获得默认行为:

str.split(None, maxsplit)
S.split([sep[,maxslit]])->字符串列表

返回字符串S中的单词列表,使用sep作为 分隔符字符串。如果给定maxsplit,则最多为maxsplit 分割完成了。如果未指定sep或无sep,则任何 空白字符串是分隔符,空字符串将被删除 从结果来看

在连续空格上拆分字符串†最多maxsplit次† †如果字符串具有前导或尾随空格,则结果列表将不包含前导或尾随空字符串(
“”

††从左到右进行拆分。要以另一种方式(从右到左)拆分,请使用
str.rsplit()
方法(需要Python 2.4+)


Python 2
str.split(sep[,maxslit]])
使用str.split(无,maxsplit)

注意
sep
指定为
None
未指定
sep

str.split(无,-1)
str.split()
str.split(无)


Python 3
str.split(sep=None,maxslit=-1)
选项A:坚持使用位置参数(Python2选项):
str.split(None,maxslit)

选项B(个人偏好,使用关键字参数):
str.split(maxsplit=maxsplit)

>>>“4 2 0”。拆分(maxsplit=420)` ['4', '2', '0']


你有没有检查过它的文档?文档中有明确的说明
None
是默认行为。顺便说一句,我注意到在Python3中,他们添加了一个关键字“maxsplit”
maxsplit
,最早可以在Python 2.0中找到。@AshwiniChaudhary:当然,Py2
str.split()
可以接受一个
maxsplit
参数,但它是一个位置参数,不是关键字参数,因此,要将
maxslit
与Py2中的默认拆分一起使用,必须为分隔符指定
None
。 >>>
' 4 2 0 '.split(None, 420)
['4', '2', '0'] >>> ' 4 2 0 '.split(maxsplit=420)` ['4', '2', '0']