shallow and deep copying in we emphasized that an assignment statement foo bar makes the name foo an alias for the object identified as bar in this sectionwe consider the task of making copy of an objectrather than an alias this is necessary in applications when we want to subsequently modify either the original or the copy in an independent manner consider scenario in which we manage various lists of colorswith each color represented by an instance of presumed color class we let identifier warmtones denote an existing list of such colors ( orangesbrownsin this applicationwe wish to create new list named palettewhich is copy of the warmtones list howeverwe want to subsequently be able to add additional colors to paletteor to modify or remove some of the existing colorswithout affecting the contents of warmtones if we were to execute the command palette warmtones this creates an aliasas shown in figure no new list is createdinsteadthe new identifier palette references the original list warmtones color palette list red green blue color red green blue figure two aliases for the same list of colors unfortunatelythis does not meet our desired criteriabecause if we subsequently add or remove colors from "palette,we modify the list identified as warmtones we can instead create new instance of the list class by using the syntaxpalette list(warmtonesin this casewe explicitly call the list constructorsending the first list as parameter this causes new list to be createdas shown in figure howeverit is what is known as shallow copy the new list is initialized so that its contents are precisely the same as the original sequence howeverpython' lists are referential (see page of section )and so the new list represents sequence of references to the same elements as in the first