[Python-ideas] min_fields argument to str.split()

Calvin Spealman ironfroggy at gmail.com
Wed Jan 21 02:32:21 CET 2009

This might be a silly idea, but I was wondering about forcing split()
to return at least X number of items. For example, I might be getting
a comma separated string and i want to split it up into names, but I
might have less than all of them. If it is just 0, 1, or 2, I can use
partition(), but any more and that doesn't work. Besides, I don't care
if the separator is there, just to get the values. Might also make
sense to give the values to give by default.

Example of implementing this:

def split(self, sep=None, max_splits=None, min_items=None):
    parts = self.split(sep, max_splits)
    if len(parts) < min_items:
        parts.extend([None] * (min_items - len(parts)))
    return parts

Use would be like this:

a, b, c, d = "1,2,3".split(',', None, 4)

Probably not a great idea, but I'm tossing it out there, anyway.

Read my blog! I depend on your acceptance of my opinion! I am interesting!
Follow me if you're into that sort of thing: http://www.twitter.com/ironfroggy

More information about the Python-ideas mailing list