the python list object is the most general sequence provided by the language lists are positionally ordered collections of arbitrarily typed objectsand they have no fixed size they are also mutable--unlike stringslists can be modified in place by assignment to offsets as well as variety of list method calls accordinglythey provide very flexible tool for representing arbitrary collections--lists of files in folderemployees in companyemails in your inboxand so on sequence operations because they are sequenceslists support all the sequence operations we discussed for stringsthe only difference is that the results are usually lists instead of strings for instancegiven three-item listl [ 'spam' len( list of three different-type objects number of items in the list we can indexsliceand so onjust as for stringsl[ [:- [ 'spam'indexing by position slicing list returns new list [ concat/repeat make new lists too [ 'spam' [ 'spam' 'spam' [ 'spam' we're not changing the original list type-specific operations python' lists may be reminiscent of arrays in other languagesbut they tend to be more powerful for one thingthey have no fixed type constraint--the list we just looked atfor examplecontains three objects of completely different types (an integera stringand floating-point numberfurtherlists have no fixed size that isthey can grow and shrink on demandin response to list-specific operationsl append('ni' [ 'spam' 'ni'growingadd object at end of list pop( [ 'spam''ni'shrinkingdelete an item in the middle "del [ ]deletes from list too lists