Fastest way to calculate leading whitespace

dasacc22 dasacc22 at gmail.com
Sat May 8 13:19:16 EDT 2010


Hi

This is a simple question. I'm looking for the fastest way to
calculate the leading whitespace (as a string, ie '    ').

Here are some different methods I have tried so far
--- solution 1

a = '    some content\n'
b = a.strip()
c = ' '*(len(a)-len(b))

--- solution 2

a = '    some content\n'
b = a.strip()
c = a.partition(b[0])[0]

--- solution 3

def get_leading_whitespace(s):
    def _get():
        for x in s:
            if x != ' ':
                break
            yield x
    return ''.join(_get())

---

Solution 1 seems to be about as fast as solution 2 except in certain
circumstances where the value of b has already been determined for
other purposes. Solution 3 is slower due to the function overhead.

Curious to see what other types of solutions people might have.

Thanks,
Daniel



More information about the Python-list mailing list