example you may decide that even though you've printed all the designsyou want to keep the original list of unprinted designs for your records but because you moved all the design names out of unprinted_designsthe list is now emptyand the empty list is the only version you havethe original is gone in this caseyou can address this issue by passing the function copy of the listnot the original any changes the function makes to the list will affect only the copyleaving the original list intact you can send copy of list to function like thisfunction_name(list_name[:]the slice notation [:makes copy of the list to send to the function if we didn' want to empty the list of unprinted designs in print_models pywe could call print_models(like thisprint_models(unprinted_designs[:]completed_modelsthe function print_models(can do its work because it still receives the names of all unprinted designs but this time it uses copy of the original unprinted designs listnot the actual unprinted_designs list the list completed_models will fill up with the names of printed models like it did beforebut the original list of unprinted designs will be unaffected by the function even though you can preserve the contents of list by passing copy of it to your functionsyou should pass the original list to functions unless you have specific reason to pass copy it' more efficient for function to work with an existing list to avoid using the time and memory needed to make separate copyespecially when you're working with large lists try it yourse lf - magiciansmake list of magician' names pass the list to function called show_magicians()which prints the name of each magician in the list - great magiciansstart with copy of your program from exercise - write function called make_great(that modifies the list of magicians by adding the phrase the great to each magician' name call show_magicians(to see that the list has actually been modified - unchanged magiciansstart with your work from exercise - call the function make_great(with copy of the list of magiciansnames because the original list will be unchangedreturn the new list and store it in separate list call show_magicians(with each list to show that you have one list of the original names and one list with the great added to each magician' name