On 25/05/2018 17:58, Rob Gaddi wrote:
So, in the spirit of explicit being better than implicit, please assume
that for actual implementation replicate would be a static method of
actual list, rather than the conveniently executable hackjob below.
_list = list
_nodefault = object()
class list(_list):
@staticmethod
def replicate(*n, fill=_nodefault, call=list):
That seems to work, but the dimensions are created in reverse order to
what I expected. Which is to have the order of indices corresponding to
the order of dimensions. So:
x=list.replicate(2,3,4)
print (len(x))
print (len(x[0]))
print (len(x[0][0]))
Gives output of 4, 3, 2 rather than 2, 3, 4.
Which means that x[0][0][3] is a bounds error.
--
bartc
--
https://mail.python.org/mailman/listinfo/python-list