diff options
author | Raymond Hettinger <python@rcn.com> | 2004-09-06 00:12:04 (GMT) |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2004-09-06 00:12:04 (GMT) |
commit | 18c69609648a13f4ff8ddc01fb4db63c3d537e42 (patch) | |
tree | ba9125f109432f97491382291c79f16601c764e8 /Doc/lib | |
parent | 1b262977a0dfc2869ed733cd6f696ee01b487a03 (diff) | |
download | cpython-18c69609648a13f4ff8ddc01fb4db63c3d537e42.zip cpython-18c69609648a13f4ff8ddc01fb4db63c3d537e42.tar.gz cpython-18c69609648a13f4ff8ddc01fb4db63c3d537e42.tar.bz2 |
SF bug #901654: split method documentation can be improved
* Discuss the algorithmic distinctions between s.split() and s.split(sep).
* Document the split behavior for empty strings.
* Note the behavior when maxsplit is zero.
* Include short examples.
Diffstat (limited to 'Doc/lib')
-rw-r--r-- | Doc/lib/libstdtypes.tex | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex index e97009e..2f54cae 100644 --- a/Doc/lib/libstdtypes.tex +++ b/Doc/lib/libstdtypes.tex @@ -750,8 +750,22 @@ string this method is called on. \begin{methoddesc}[string]{split}{\optional{sep \optional{,maxsplit}}} Return a list of the words in the string, using \var{sep} as the delimiter string. If \var{maxsplit} is given, at most \var{maxsplit} -splits are done. If \var{sep} is not specified or \code{None}, any -whitespace string is a separator. +splits are done. (thus, the list will have at most \code{\var{maxsplit}+1} +elements). If \var{maxsplit} is not specified or is zero, then there +is no limit on the number of splits (all possible splits are made). +Consecutive delimiters are not grouped together and are +deemed to delimit empty strings (for example, \samp{'1,,2'.split(',')} +returns \samp{['1', '', '2']}. The \var{sep} argument may consist of +multiple characters (for example, \samp{'1, 2, 3'.split(', ')} returns +\samp{['1', '2', '3']}. Splitting an empty string with a specified +separator returns an empty list. + +If \var{sep} is not specified or is \code{None}, a different splitting +algorithm is applied. Words are separated by arbitrary length strings of +whitespace characters (spaces, tabs, newlines, returns, and formfeeds). +Consecutive whitespace delimiters are treated as a single delimiter +(\samp{'1 2 3'.split()} returns \samp{['1', '2', '3']}. Splitting an +empty string returns \samp{['']}. \end{methoddesc} \begin{methoddesc}[string]{splitlines}{\optional{keepends}} |