# Author:
# Date: 


def copy_list(in_list):
    """ Return a new list object containing the same elements as in_list.
        Precondition: in_list's contents are all immutable. """

    new_list = []
    for item in in_list:
        new_list.append(item)
    
    return new_list

def copy_list(in_list):
    return in_list[:]

# Example usage:
a = [1, 2, 3, 4]
b = copy_list(a)
b[0] = 0
print(a[0], b[0])
# prints 1 0

# 
# def cull(a):
#    """ Remove a randomly chosen half of the elements from the given list """
#     
# # Example usage:
# a = [1, 2, 3, 4]
# cull(a)
# print(a)
# # prints [2, 3] (or any other choice of 2 elements from the original list)
#         

