I have a multidimensional list F, holding elements of some type. So, if for example the rank is 4, then the elements of F can be accessed by something like
You can use the
reduce() function to access consecutive elements:
from functools import reduce # forward compatibility import operator reduce(operator.getitem, indices, somelist)
In Python 3
reduce was moved to the
functools module, but in Python 2.6 and up you can always access it in that location.
The above uses the
operator.getitem() function to apply each index to the previous result (starting at
>>> import operator >>> somelist = ['index0', ['index10', 'index11', ['index120', 'index121', ['index1220']]]] >>> indices = [1, 2, 2, 0] >>> reduce(operator.getitem, indices, somelist) 'index1220'