A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2002-March/021003.html below:

[Python-Dev] "funny".split("")

[Python-Dev] "funny".split("")John Machin sjmachin@lexicon.net
Wed, 13 Mar 2002 07:24:18 +1000
On 12 Mar 2002 at 19:16, Christian Tismer wrote:

> Gerald S. Williams wrote:
> 
> > Christian Tismer wrote:
> > 
> >>I'm just translating the Python Pocked Reference the
> >>second time, and I stumbled over this:
> >>   "funny".split("")
> >>gives a ValueError: empty separator.
> >>Why this?
> >>
> > 
> > I don't know, but I have a patch for stringobject.c and
> > stropmodule.c that gives the behavior you asked for (I
> > haven't done unicodeobject.c yet). Should I post it?
> 
> 
> Thanks a lot!
> But I think this is not a problem of implementation
> but design. Since "hello".split("") would be the only
> ambiguous case (you can find non-countable infinite
> outputs which would yield the same join), they seem
> to have decided to forbid it.
> I (bummer head) would have choosen the obvious,
> but having to replace the expression by list("hello")
> is just fine with me, and for sure a bit cleaner.
> 
> ciao - chris

This topic has come up several times in c.l.py, as recently as a month ago.

Various people proposed what appeared to them to be plausible return values instead of 
an exception for 'abc'.split(''):

1. ['a', 'b', 'c']
2. ['', 'a', 'b', 'c', '']
3. ['abc']
4. An infinitely-long list of null strings -- from somebody in a university mathematics 
department -- as Python seems to be sprouting singleton objects, maybe we could have 
StringAlephNull specifically to be returned from any_string.split(""). Actually, as the 
proponent's suggestion was based on naive code for split() which got stuck in a loop at 
the *start* of the source string,  "".split("") should yield StringAleph(0) and in general 
foo.split("") should return StringAleph(len(foo)).

... in other words, plenty of evidence that splitting on a null separator is extremely ill-
definable and the current behaviour should be maintained.

Cheers,
John



RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4