
It's so easy to do this using re.split() that it's not worth the added complexity in str.split(). On Sun, Feb 27, 2011 at 4:14 PM, Andy Buckley <andy@insectnation.org> wrote:
Here's another str.split() suggestion, this time an extension (Pythonic, I think) rather than a change of semantics.
There are cases where, especially in handling user input, I'd like to be able to treat any of a series of possible delimiters as acceptable. Let's say that I want commas, underscores, and hyphens to all be treated as delimiters (as I did in some code I was writing today). I guessed, based on some other Python std lib behaviours, that this might work:
usertokens = userstr.split([",", "_", "-"])
It doesn't work though, since the sep argument *has* to be a string. I think it would be nice for an extension like this to be supported, although I would guess a 90% probability of there being an insightful reason for why it's not such a great idea after all* ;-)
Unlike many extensions, I don't think that the general solution to this is *very* quick and idiomatic in current Python. As for a compelling use-case... well, I'm very sympathetic to not adding functions for which there is no demand (I forget the relevant acronym) but this is a case where I suddenly found that I did have that problem to solve and that Python didn't have the nice built-in answer that I semi-expected it to. Extension of single arguments to iterables of them is quite a common Python design feature: one of those things where you think "ooh, this really is a nice, consistent, powerful language" when you find it. So I hope that this suggestion finds some favour.
Best wishes, Andy
[*] Such as "how do you distinguish between a string, which is iterable over its characters, and a list/tuple/blah of individual strings?" Well, that doesn't strike me as too big a technical issue, but maybe it is. _______________________________________________ Python-ideas mailing list Python-ideas@python.org http://mail.python.org/mailman/listinfo/python-ideas
-- --Guido van Rossum (python.org/~guido)