the prototype pattern what do you expect the results of the print statements to belook at the following output does it match what you expected[ [ [ [ [ [ [ [ most people find it surprising that the digit was appended to the end of both the list points to and the list points to if you remember that in fact and point to the same listit is clear that adding an element to the end of that list should show the element added to the end of the list no matter which variable you are looking at shallow copy when we want to make an actual copy of the listand have two independent lists at the end of the processwe need to use different strategy just as beforewe are going to load the same digits into list and point the variable at the list this timewe are going to use the slice operator to copy the list range( , print("[ {}format( ) [:print("[ {}format( ) append( print("[ {}format( )print("[ {}format( )the slice operator is very useful toolsince it allows us to cut up list (or stringin many different ways want to get all the elements from listwhile leaving out the first two elementsno problem--just slice the list with [ :what about all elements but the last twoslice does that[:- you could even ask the slice operator to only give you every second element challenge you to figure out how that is done when we assigned to [:]we told to point to slice created by duplicating the elements in list afrom the first to the last elementeffectively copying all the values in list to another location in memory and pointing the variable to this list