[Python-ideas] str.split with empty separator

MRAB python at mrabarnett.plus.com
Fri Jul 30 04:41:35 CEST 2010


Raymond Hettinger wrote:
> On Jul 29, 2010, at 5:33 PM, Greg Ewing wrote:
> 
>> Alexandre Conrad wrote:
>>
>>> What if str.split could take an empty separator?
> 
> I propose that the semantics of str.split() never be changed.
> 
> It has been around for a long time and has a complex set of behaviors 
> that people have come to rely on.  For years, we've answered arcane 
> questions about it and have made multiple revisions to the docs in a
> never ending quest to precisely describe exactly what it does without 
> just showing the C underlying code.  Accordingly, existing uses depend
> mainly on what-it-does-as-implemented and less on the various ways
> it has been documented over the years.  
> 
> Almost any change to str.split() would either complexify the explanation
> of what it does or would change the behavior in a way the would
> break somebody's code (perhaps in a subtle ways that are hard to detect).
> 
> In my opinion, str.split() should never be touched again.  
> Instead, it may be worthwhile to develop new splitters 
> with precise semantics aimed at specific use cases.
> 
Does it really have a complex set of behaviours? The only (possibly)
surprising behaviour for me is when it splits on whitespace (ie, passing
it None as the separator). I find it very easy to understand. Or perhaps
I'm just smarter than I thought! :-)



More information about the Python-ideas mailing list