import functools
import operator
def arrget(array,tup):
'''
Given a tuple containing the dimensional indices, retrieve that element from a multi-dimensional array
'''
return functools.reduce(lambda arr, idx: operator.getitem(arr,idx), tup, array)
import itertools
def transpose(array):
T = type(array)
return T(itertools.zip_longest(*array))