def map_list(key_map, *inputs, copy=False, base=None):
    d = {} if base is None else base
    for m, v in zip(key_map, inputs):
        if isinstance(m, dict):
            map_dict(m, v, base=d)
        elif isinstance(m, list):
            map_list(m, *v, base=d)
        else:
            d[m] = v
    return combine_dicts(copy=copy, base=d)