import collections


def transpose_ntpl_list(lst):
    """Transpose a list of named tuple objects (of the same type) into a
    named tuple of lists.

    Parameters
    ----------
    lst : list of collections.namedtuple object
      List of named tuple objects of the same type

    Returns
    -------
    ntpl : collections.namedtuple object
      Named tuple object with each entry consisting of a list of the
      corresponding fields of the named tuple objects in list ``lst``
    """

    cls = collections.namedtuple(lst[0].__class__.__name__, lst[0]._fields)
    if len(lst) == 0:
        return None
    else:
        return cls(*[[lst[k][l] for k in range(len(lst))]
                     for l in range(len(lst[0]))])