CN101
Lecture11-12
ListsandTuples
Topics
Sequences
IntroductiontoLists
ListSlicing
FindingItemsinListswiththeinOperator
ListMethodsandUsefulBuilt-inFunctions
CopyingLists
Two-DimensionalLists
Tuples
2
Sequences
Sequence:anobjectthatcontainsmultipleitemsofdata
Theitemsarestoredinsequenceoneafteranother
Pythonprovidesdifferenttypesofsequences,including
listsandtuples
Thedifferencebetweentheseisthatalistismutableanda
tupleisimmutable
3
Introduction to Lists
List:anobjectthatcontainsmultipledataitems
Element:Aniteminalist
Format:list = [item1, item2, etc.]
Canholditemsofdifferenttypes
printfunctioncanbeusedtodisplayanentirelist
list()functioncanconvertcertaintypesofobjects
tolists
4
Introduction to Lists (cont’d.)
Hereisastatementthatcreatesalistofintegers:
even_numbers = [2, 4, 6, 8, 10]
Thefollowingisanotherexample:
names = ['Molly', 'Steven', 'Will', 'Alicia', 'Adriana']
Alistcanholditemsofdifferenttypes,asshowninthefollowing
example:
info = ['Alicia', 27, 1550.87]
5
The Repetition Operator and
Iterating over a List
Repetitionoperator:makesmultiplecopiesofalistand
joinsthemtogether
The*symbolisarepetitionoperatorwhenappliedtoa
sequenceandaninteger
Sequenceisleftoperand,numberisright
Generalformat:list * n
Youcaniterateoveralistusingafor loop
Format:for x in list:
6
Indexing
Index:anumberspecifyingthepositionofanelementin
alist
Enablesaccesstoindividualelementinlist
Indexoffirstelementinthelistis0,secondelementis1,and
n’thelementisn-1
Negativeindexesidentifypositionsrelativetotheendofthe
list
Theindex-1identifiesthelastelement,-2identifiesthenexttolast
element,etc.
7
The len function
AnIndexErrorexceptionisraisedifaninvalidindex
isused
lenfunction:returnsthelengthofasequencesuchas
alist
Example:size = len(my_list)
Returnsthenumberofelementsinthelist,sotheindexof
lastelementislen(list)-1
CanbeusedtopreventanIndexError exceptionwhen
iteratingoveralistwithaloop
8
Lists Are Mutable
Mutablesequence:theitemsinthesequencecanbe
changed
Listsaremutable,andsotheirelementscanbechanged
Anexpressionsuchas
list[1] = new_valuecanbeusedtoassigna
newvaluetoalistelement
MustuseavalidindextopreventraisingofanIndexError
exception
9
10
Concatenating Lists
Concatenate:jointwothingstogether
The+operatorcanbeusedtoconcatenatetwolists
Cannotconcatenatealistwithanotherdatatype,suchasa
number
The+=augmentedassignmentoperatorcanalsobe
usedtoconcatenatelists
11
List Slicing
Slice:aspanofitemsthataretakenfromasequence
Listslicingformat:list[start : end]
Spanisalistcontainingcopiesofelementsfromstartup
to,butnotincluding,end
Ifstartnotspecified,0isusedforstartindex
Ifendnotspecified,len(list)isusedforendindex
Slicingexpressionscanincludeastepvalueandnegative
indexesrelativetoendoflist
12
Finding Items in Lists with the in
Operator
Youcanusetheinoperatortodeterminewhetheran
itemiscontainedinalist
Generalformat:item in list
ReturnsTrueiftheitemisinthelist,orFalseifitisnotin
thelist
Similarlyyoucanusethenot inoperatorto
determinewhetheranitemisnotinalist
13
14
List Methods
append(item):usedtoadditemstoalist–itemis
appendedtotheendoftheexistinglist
15
List Methods (cont’d.)
index(item):usedtodeterminewhereanitemis
locatedinalist
Returnstheindexofthefirstelementinthelistcontaining
item
Raises ValueErrorexceptionifitemnotinthelist
16
17
18
List Methods (cont’d.)
insert(index, item):usedtoinsertitemat
positionindexinthelist
sort():usedtosorttheelementsofthelistin
ascendingorder
19
20
List Methods (cont’d.)
remove(item):removesthefirstoccurrenceof
iteminthelist
Raises ValueErrorexceptionifitemnotinthelist
reverse():reversestheorderoftheelementsinthe
list
21
Useful Built-in Functions
del statement:removesanelementfromaspecific
indexinalist
Generalformat:del list[i]
22
Useful Built-in Functions (cont’d.)
min and max functions:built-infunctionsthat
returnstheitemthathasthelowestorhighestvaluein
asequence
Thesequenceispassedasanargument
Sum functions:built-infunctionsthatreturnsthesum
ofallvaluesinasequence
23
List Referencing
Afterthiscodeexecutes,both
variableslist1andlist2will
referencethesamelistinmemory.
24
Copying Lists
Tomakeacopyofalistyoumustcopyeachelementof
thelist
Twomethodstodothis:
Creatinganewemptylistandusingaforlooptoaddacopyofeach
elementfromtheoriginallisttothenewlist
Creatinganewemptylistandconcatenatingtheoldlisttothenew
emptylist
Asaresult,list1andlist2will
referencetwoseparatebutidenticallists.
25
26
Two-Dimensional Lists
Two-dimensionallist:alistthatcontainsotherlistsasits
elements
Alsoknownasnestedlist
Commontothinkoftwo-dimensionallistsashavingrowsand
columns
Usefulforworkingwithmultiplesetsofdata
Toprocessdatainatwo-dimensionallistneedtouse
twoindexes
Typicallyusenestedloopstoprocess
27
Two-Dimensional Lists (cont’d.)
28
29
Tuples
Tuple:animmutablesequence
Verysimilartoalist
Onceitiscreateditcannotbechanged
Format:tuple_name = (item1, item2)
Tuplessupportoperationsaslists
Subscriptindexingforretrievingelements
Methodssuchasindex
Builtinfunctionssuchaslen, min, max, sum
Slicingexpressions
Thein,+,and*operators
30
Tuples (cont’d.)
Tuplesdonotsupportthemethods:
append
remove
insert
reverse
sort
Tuplesdonotsupportdelstatement
31
32
Tuples (cont’d.)
Advantagesforusingtuplesoverlists:
Processingtuplesisfasterthanprocessinglists
Tuplesaresafe
SomeoperationsinPythonrequireuseoftuples
list()function:convertstupletolist
tuple()function:convertslisttotuple
33
34
Summary
Thischaptercovered:
Lists,including:
Repetitionandconcatenationoperators
Indexing
Techniquesforprocessinglists
Slicingandcopyinglists
Listmethodsandbuilt-infunctionsforlists
Two-dimensionallists
Tuples,including:
Immutability
Differencefromandadvantagesoverlists
35