0% found this document useful (0 votes)
30 views30 pages

Lists, Tuples, and Files An Introduction: Section 4

python

Uploaded by

Ff
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views30 pages

Lists, Tuples, and Files An Introduction: Section 4

python

Uploaded by

Ff
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

Lists, Tuples, and Files

an Introduction
Section 4
Chapter 2

An Introduction to Programming Using Python


David Schneider
© 2016 Pearson Education, Ltd. All rights reserved.
The list Object
• A list is an ordered sequence of Python
objects
– Objects can be of any type
– Objects do not have to all be the same type.
– Constructed by writing items enclosed in square
brackets … items separated by commas.

© 2016 Pearson Education, Ltd. All rights reserved.


The list Object
• Table 2.5 List operations (The lists team, num,
and words given in previous slide)

© 2016 Pearson Education, Ltd. All rights reserved.


The list Object
• Table 2.5 List operations (The lists team, num,
and words given in previous slide)

© 2016 Pearson Education, Ltd. All rights reserved.


The list Object
• Example 1: Program requests five grades as
input, displays average after dropping two
lowest grades

© 2016 Pearson Education, Ltd. All rights reserved.


The list Object
• Program requests five grades as input,
displays average after dropping two lowest
grades

© 2016 Pearson Education, Ltd. All rights reserved.


Slices
• A slice of a list is a sublist specified with colon
notation
– Analogous to a slice of a string
• Table 2.6 Meanings of slice notations

© 2016 Pearson Education, Ltd. All rights reserved.


Slices
• Table 2.7 Examples of slices where
list1 = ['a', 'b', 'c', 'd', 'e', 'f'].

© 2016 Pearson Education, Ltd. All rights reserved.


The split and join Methods
• Split method turns single string into list of
substrings
• Join method turns a list of strings into a single
string.
• Notice that these methods are inverses of
each other

© 2016 Pearson Education, Ltd. All rights reserved.


The split and join Methods
• Example 2: These statements each display list
['a', 'b', 'c'].

© 2016 Pearson Education, Ltd. All rights reserved.


The split and join Methods
• Example 3: Program shows how join
method used to display items from list of
strings.

© 2016 Pearson Education, Ltd. All rights reserved.


Text Files

• Text file is a simple file consisting of lines of


text with no formatting
– Text file can be created with any word processor
– Python program can access the values

© 2016 Pearson Education, Ltd. All rights reserved.


Text Files
• Given

– Program opens for reading a file of text


– Strips newline characters
– Characters placed into a list

© 2016 Pearson Education, Ltd. All rights reserved.


Text Files
• Furthermore

– Suppose data is all numbers,


– Previous code produces list of strings, each a
number
– Place the numbers into a list with this code

© 2016 Pearson Education, Ltd. All rights reserved.


The tuple Object
• Tuples, like lists, are ordered sequences of
items
• Difference – tuples cannot be modified in
place
– Have no append, extend, or insert method
• Items of tuple cannot be directly deleted,
sorted, or altered

© 2016 Pearson Education, Ltd. All rights reserved.


The tuple Object
• All other list functions and methods apply
– Items can be accessed by indices
– Tuples can be sliced, concatenated, and repeated
• Tuples written as comma-separated
sequences enclosed in parentheses
– Can also be written without the parentheses.

© 2016 Pearson Education, Ltd. All rights reserved.


The tuple Object
• Example 4: Program shows tuples have
several of same functions as lists.

© 2016 Pearson Education, Ltd. All rights reserved.


The tuple Object
• Example 5: Program swaps values of two
variables

© 2016 Pearson Education, Ltd. All rights reserved.


Nested Lists
• Beside numbers or strings, items can be lists
or tuples.
• Consider a list of tuples named L
L[0] is the first tuple
L[0][0] is the first item in the first tuple
• And L[-1] is the last tuple
L[-1][-1] is the last item in the last tuple

© 2016 Pearson Education, Ltd. All rights reserved.


Nested Lists
• Example 6: Program manipulates
regions contains four tuples, each tuple gives
name and 2010 population (in millions) of a
region

© 2016 Pearson Education, Ltd. All rights reserved.


Immutable and Mutable Objects
• An object is an entity
– Holds data.
– Has operations and/or methods that can
manipulate the data.
• When variable created with assignment
statement
– Value on the right side becomes an object in
memory
– Variable references (points to) object
© 2016 Pearson Education, Ltd. All rights reserved.
Immutable and Mutable Objects
• When list altered
– Changes made to the object in list's memory
location
• Contrast when value of variable is number,
string, or tuple … when value changed,
– Python designates a new memory location to hold
the new value
– And the variable references that new object

© 2016 Pearson Education, Ltd. All rights reserved.


Immutable and Mutable Objects
• Another way to say this
– Lists can be changed in place
– Numbers, strings, and tuples cannot
• Objects changed in place are mutable
• Objects that cannot be changed in place are
immutable

© 2016 Pearson Education, Ltd. All rights reserved.


Immutable and Mutable Objects

FIGURE 2.29 Memory allocation corresponding to a program.


© 2016 Pearson Education, Ltd. All rights reserved.
Immutable and Mutable Objects

FIGURE 2.29 Memory allocation corresponding to a program.


© 2016 Pearson Education, Ltd. All rights reserved.
Copying Lists
• Consider results of this program

• All because lists are mutable

© 2016 Pearson Education, Ltd. All rights reserved.


Copying Lists
• Now note change in line 2

• Third line of code will not affect memory


location pointed to by list1

© 2016 Pearson Education, Ltd. All rights reserved.


Indexing, Deleting, and
Slicing Out of Bounds
• Python does not allow out of bounds indexing
for individual items in lists and tuples
– But does allow it for slices
• Given list1 = [1, 2, 3, 4, 5]
– Then print(list1[7])
print(list1[-7])
del list1[7]

© 2016 Pearson Education, Ltd. All rights reserved.


Indexing, Deleting, and
Slicing Out of Bounds
• If left index in slice too far negative
– Slice will start at the beginning of the list
• If right index is too large,
– Slice will go to the end of the list.

© 2016 Pearson Education, Ltd. All rights reserved.


End

Section 4
Chapter 2

An Introduction to Programming Using Python


David Schneider
© 2016 Pearson Education, Ltd. All rights reserved.

You might also like