def mapfivo(ol, *args, **kwargs):
    """
        #mapfivo          f,i,v,o四元决定                     fivo-4-tuple-engine
        #map_func         diff_func(index,value,*diff_args)
    """
    args = list(args)
    lngth = args.__len__()
    if lngth == 0:
        diff_funcs_arr = kwargs['map_funcs']
        diff_args_arr = kwargs['map_func_args_array']
    elif lngth == 1:
        if 'map_func_args_array' in kwargs:
            diff_funcs_arr = args[0]
            diff_args_arr = kwargs['map_func_args_array']
        else:
            diff_funcs_arr = kwargs['map_funcs']
            diff_args_arr = args[0]
    else:
        diff_funcs_arr = args[0]
        diff_args_arr = args[1]
    lngth = ol.__len__()
    rslt = []
    for i in range(0, lngth):
        index = i
        value = ol[i]
        func = diff_funcs_arr[i]
        args = diff_args_arr[i]
        ele = func(index, value, *args)
        rslt.append(ele)
    return rslt
