def swap(a_list, index1, index2):
    """assumes a_list is a list, 
    assumes index1 is an int representing the index of one of the two values to be swaped 
    assumes index1 is an int representing the index of one of the two values to be swaped
    does not modify the inputed list
    returns a list, equivalent to a_list with index1 and index2 swapped
    e.g. swap(['a','b','c'], 0, 2) -> ['c','b','a'] 
    """
    b_list = a_list.copy()
    b_list[index1] = a_list[index2]
    b_list[index2] = a_list[index1]
    return b_list