List. Lists are used to store multiple items in a single variable. Lists are one of 4 built-in data types in Python used to store collections of data, the other 3 are Tuple, Set, and Dictionary, all with different qualities and usage.
Compares elements of both lists. Returns item from the list with max value. Returns item from the list with min value.
The standard way to add padding to a string in Python is using the str. rjust() function. It takes the width and padding to be used. If no padding is specified, the default padding of ASCII space is used.
a += [''] * (N - len(a))
or if you don't want to change a
in place
new_a = a + [''] * (N - len(a))
you can always create a subclass of list and call the method whatever you please
class MyList(list):
def ljust(self, n, fillvalue=''):
return self + [fillvalue] * (n - len(self))
a = MyList(['1'])
b = a.ljust(5, '')
I think this approach is more visual and pythonic.
a = (a + N * [''])[:N]
There is no built-in function for this. But you could compose the built-ins for your task (or anything :p).
(Modified from itertool's padnone
and take
recipes)
from itertools import chain, repeat, islice
def pad_infinite(iterable, padding=None):
return chain(iterable, repeat(padding))
def pad(iterable, size, padding=None):
return islice(pad_infinite(iterable, padding), size)
Usage:
>>> list(pad([1,2,3], 7, ''))
[1, 2, 3, '', '', '', '']
gnibbler's answer is nicer, but if you need a builtin, you could use itertools.izip_longest
(zip_longest
in Py3k):
itertools.izip_longest( xrange( N ), list )
which will return a list of tuples ( i, list[ i ] )
filled-in to None. If you need to get rid of the counter, do something like:
map( itertools.itemgetter( 1 ), itertools.izip_longest( xrange( N ), list ) )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With