def cnt_split(tar_list, cnt_per_slice):
    """
    Yield successive n-sized(cnt_per_slice) chunks from l(tar_list).

        >>> x = list(range(34))
        >>> for i in cnt_split(x, 5):
        >>>     print(i)
        <<< print result ...
        <<< [0, 1, 2, 3, 4]
        <<< [5, 6, 7, 8, 9]
        <<< [10, 11, 12, 13, 14]
        <<< [15, 16, 17, 18, 19]
        <<< [20, 21, 22, 23, 24]
        <<< [25, 26, 27, 28, 29]
        <<< [30, 31, 32, 33]

    The targetlist can be split into slices with a NAX size of 'cnt_per_slice' ...
    :param tar_list: target list to split
    :param cnt_per_slice: slice per max size...
    :return: yield one result.
    """
    for i in range(0, len(tar_list), cnt_per_slice):
        yield tar_list[i:i + cnt_per_slice]
