def merge_lists(list1, list2):
    """
    Merges two lists in an alternate way
    [1, 2, 3] + [4, 5] => [1, 4, 2, 5, 3]
    Borrowed from : http://stackoverflow.com/a/3678938/1585523
    :param list1: a list of objects which the result starts from, occupies in the odd spots
    :param list2: a list of objects, occupies even spots
    :return: alternating combined list of list1 and list2
    """
    result = [None] * (len(list1) + len(list2))
    result[::2] = list1
    result[1::2] = list2
    return result