This is much more obvious and clear than my solution (which looks like an
emoticon gone wrong), and from a quick test, at least twice as fast on small
strings ~ 80 characters - and gets even better on long strings (not that
speed’s probably a huge factor here)
In IPython:
In [1]: something = 'A' * 40
In [2]: %timeit something.ljust(80)
1000000 loops, best of 3: 439 ns per loop
In [3]: %timeit "{0:<{1}}".format(something, 80)
1000000 loops, best of 3: 876 ns per loop
In [4]: %timeit something.ljust(10000)
1000000 loops, best of 3: 867 ns per loop
In [5]: %timeit "{0:<{1}}".format(something, 10000)
100000 loops, best of 3: 2.4 µs per loop
On 2014-05-13, at 5:17 pm, Tom Dunham <[email protected]> wrote:
> String has an 'ljust' method that left-justifies the string in a column of a
> given length, so you could do:
>
> some_string = something.ljust(len(some_other_string))
>
> (I'm on the train so I can't run this to check, but I'm pretty sure that's
> correct).
>
> Cheers,
> Tom
>
> On 13 May 2014 07:27, "David Crisp" <[email protected]> wrote:
> I need to create a string that has a variable length of padding and im not
> sure how to do it.
>
> For instance
>
> some_string = ("{something:<40}".format(something = somethingelse))
>
> will give me a 40 space padded display of something
>
>
> What if, after a little bit of string concatination (for want of a abetter
> word) I want to do the following:
>
> string_length = len(some_other_string)
>
> some_string = ("{something:<string_length}".format(something = somethingelse))
>
> When I do this I get a ValueError: Invalid format specifier.
>
> IS there a clean and neat way of doing the above?
>
> Regards,
> David Crisp
>
>
>
>
> _______________________________________________
> melbourne-pug mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/melbourne-pug
> _______________________________________________
> melbourne-pug mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/melbourne-pug
_______________________________________________
melbourne-pug mailing list
[email protected]
https://mail.python.org/mailman/listinfo/melbourne-pug