Interesting.

I agree that this is inconsistent and confusing (and I'm quite curious how
the implementation ended up this way).

But I have literally NEVER been bitten by this -- perhaps it's because I
WAS bitten by it way back when, and then started the habit of ignoring
empty strings before I split() -- I have a lot of code like:

line = line.strip()
if line:
   # do the splitting, or whatever ....

But as Eric says -- it is way too late to change this now -- at least the
default behavior.

-CHB


On Tue, Oct 20, 2020 at 9:08 AM Eric V. Smith <e...@trueblade.com> wrote:

> On 10/20/2020 11:52 AM, Antal Gábor wrote:
> > Hey there,
> >
> > This is my first letter here, I'll try my best to explain the problem.
> > First of all, I ran into this "problem" several times. I find
> > str.split() a bit confusing. First of all, this is a corner case, but
> > can happen like every day.
> >
> > print("".split())  # returns []
> > print("".split(" "))  # returns ['']
> > print("".split("\t"))  # returns ['']
> > print("".split("\n"))  # returns ['']
> > print("".splitlines())  # returns []
> >
> > So using split with or without a separator matters a lot, even when we
> > use the same whitespace character split() uses. I think it is quite
> > annoying. My idea is to return a list with an empty string in all
> > cases mentioned above.
> >
> With probably millions (at least!) of uses of str.split in real code,
> there's no way we can change this behavior.
>
> You might be able to argue for an additional parameter to control this,
> but I personally think the chances of confusion are too high. What I
> usually do is write a wrapper for str.split if I don't like how it's
> behaving.
>
> Eric
>
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/FEHVZG4CSIIC5GF3U73TZZLUTBVS6N4R/
> Code of Conduct: http://python.org/psf/codeofconduct/
>


-- 
Christopher Barker, PhD

Python Language Consulting
  - Teaching
  - Scientific Software Development
  - Desktop GUI and Web Development
  - wxPython, numpy, scipy, Cython
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/R5HWZQQDWH3FQPPMPHF6QQ7UDO453OV6/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to