further exploration as the dir(''list showedthere are many more operations on strings than we have discussedand there are further variations of the ones above with more parameters methods startswithendswithand replace are discussed later in more string methods (page if you want to reach systematic reference from inside idlego to help python docs library referenceand find the section built-in typesand then the subsection for type str many methods use features we have not discussed yetbut currently accessible methods are capitalizetitlestriprfind more classes and methods the classes and methods introduced here are all used in the revised mad lib program developed in the next section appending to list before making version of the madlib program that is much easier to use with new storieswe need couple of facts about other types of objects that are built into python so far we have used listsbut we have not changed the contents of lists the most obvious way to change list is to add new element onto the end lists have the method append it modifies the original list another word for modifiable is mutable lists are mutable most of the types of object considered so far (intstrfloatare immutable or not mutable read and see how the list named words changeswords list(words [words append('animal'words ['animal'words append('food'words ['animal''food'words append('city'words ['animal''food''city'this is particularly useful in loopwhere we can accumulate new list read the start of this simple exampledef multiplyall(numlistmultiplier)'''return new list containing all of the elements of numlisteach multiplied by multiplier for exampleprint(multiplyall([ ] )[ ''more to come clearly this will be repetitious we will process each element of the list numlist for-each loop with numlist is appropriate also we need to create more and more elements of the new list the accumulation pattern will work herewith couple of wrinkles test yourself if we are going to accumulate list how do we initialize the list objects and methods