Python MiniCourse - PowerPoint PPT Presentation

About This Presentation
Title:

Python MiniCourse

Description:

Describe the characteristics of the list data structure in Python ... 'Alton', 'Darrel', 'Jen'] print roster. roster[1:3] = ['Sam', 'Kerri'] print roster ... – PowerPoint PPT presentation

Number of Views:83
Avg rating:3.0/5.0
Slides: 35
Provided by: troys9
Learn more at: https://www.ou.edu
Category:

less

Transcript and Presenter's Notes

Title: Python MiniCourse


1
Day 4 Lesson 14Lists
  • Python Mini-Course
  • University of Oklahoma
  • Department of Psychology

2
Lesson objectives
  • Describe the characteristics of the list data
    structure in Python
  • Perform basic operations with lists including
    creation, concatenation, repetition, slicing, and
    traversing
  • Use string methods that require lists (join,
    split)
  • Use lists in functions

3
The list data structure
  • In Python, a list is a mutable sequence of values
  • Each value in the list is an element or item
  • Elements can be any Python data type
  • Lists can mix data types
  • Elements can be nested lists

4
Creating lists
  • numbers 1, 2, 3, 4
  • print numbers
  • cheeses 'swiss', 'cheddar',
  • 'ricotta', 'gouda'
  • print cheeses

5
Creating lists
  • mixed 1, 'a', 3.45
  • print mixed
  • single 'z'
  • print single, type(single)
  • empty
  • print empty

6
Repeating a list
  • Use the operator
  • meat 'spam'4
  • print meat
  • print 1, 2, 33

7
List indexing
  • Elements within a list are indexed (see Lesson
    10)
  • print cheeses0
  • Lists are mutable
  • cheeses0 'Feta'
  • print cheeses

8
Slicing a list
  • Like strings and other sequences, lists can be
    sliced
  • print cheeses14
  • print cheeses2
  • print cheeses2

9
Changing a slice
  • roster 'Meghan', 'Tricia', 'Juan',
  • 'Alton', 'Darrel', 'Jen'
  • print roster
  • roster13 'Sam', 'Kerri'
  • print roster
  • roster35 'Tayla'
  • print roster

10
Inserting elements
  • Slice notation
  • roster22 'Dana', 'Ryan'
  • print roster

11
Deleting elements
  • Set slice to empty list
  • roster35
  • print roster
  • The del keyword
  • del roster23
  • print roster

12
The insert and append methods
  • The insert method
  • roster.insert(2,'Jakob')
  • print roster
  • The append method
  • roster.append('Tonya')
  • print roster

13
The extend method
  • Adds a list to the end of an existing list
  • adds 'Ian', 'Stacie'
  • roster.extend(adds)
  • print roster

14
Extending a list
  • Can also use operator
  • roster 'Anya'
  • print roster

15
Using the operator
  • a 1, 2, 3
  • b 4, 5, 6
  • c a b
  • print a, b, c
  • The operator returns a new list that is a
    concatenation of two lists

16
Note on list operations
  • Be careful when using the operator and append
    method
  • Try this
  • d c 7
  • Or this
  • c.append(b)
  • print c

17
List assignment and aliasing
  • a 1, 2, 3, 4
  • b a
  • c a
  • a2 9
  • print a, b, c
  • The slice operator returns a copy of a list

18
Other list methods
  • roster.sort()
  • print roster
  • roster.reverse()
  • print roster

19
Other list methods
  • print roster.index('Tonya')
  • print roster.index('Tonya', 2, 5)
  • print roster.count('Sam')
  • roster.remove('Sam')
  • print roster

20
The join string method
  • Concatenates a sequence of strings into a single
    string with sep inserted between each item.
  • Syntax sep.join(list)

21
The split string method
  • Returns a list of words from a string using sep
    as the delimiter string
  • Syntax sep.split(list)

22
Example join_split.py
  • t 'pining', 'for', 'the', 'fjords'
  • delimiter '_'
  • s delimiter.join(t)
  • print s
  • u s.split(delimiter)
  • print u

23
Example
  • print ''.join(t)
  • print ' '.join(t)
  • print '\t'.join(t)

24
Traversing a list
  • for index in range(len(roster))
  • print rosterindex
  • for student in roster
  • print student
  • for index, student in enumerate(roster)
  • print index, student

25
Traversing a list
  • What does this do?
  • empty
  • for x in empty
  • print x

26
Nested lists
  • nested 1,2,3,4,5,6,7,8,9
  • print nested
  • print nested0
  • print nested01

27
Traversing nested lists
  • for i in range(len(nested))
  • for j in range(len(nestedi))
  • print nestedij

28
Traversing nested lists
  • for nest in nested
  • for item in nest
  • print item

29
Using lists cumulate.py
  • def cumulate(seq)
  • c_sum 0
  • for item in seq
  • c_sum item
  • return c_sum
  • a 12, 78, 32, 82
  • s cumulate(a)
  • print s

30
Returning lists from functionsonly_upper.py
  • def only_upper(t)
  • res
  • for s in t
  • if s.isupper()
  • res.append(s)
  • return res
  • text 'Bold cOlOrs Make for Easy Reading'
  • secret only_upper(text)
  • print secret

31
Modifying lists in functions
  • In Python, arguments are passed by reference
  • The parameter in the function is an alias for the
    argument that was passed in
  • If a mutable object is changed inside the
    function, it is also changed outside the function

32
Example byref.py
  • def change(seq)
  • print 'Passed in ' str(seq)
  • seq.append('new item')
  • print 'Changed to ' str(seq)
  • original 1, 2, 3
  • print original
  • change(original)
  • print original

33
Example byref2.py
  • def change(seq)
  • print 'Passed in ' str(seq)
  • seq.append('new item')
  • print 'Changed to ' str(seq)
  • new_seq 'created','in','function'
  • print 'New seq ' str(new_seq)
  • original 1, 2, 3
  • new_seq 'outside','the','function'
  • print original
  • change(original)
  • print original
  • print new_seq

34
Suggested exercises
  • Exercise 10.5 Solving the "Birthday Paradox" by
    a Monte Carlo simulation
  • Exercise 10.6 Removing duplicates from a list
  • Exercise 10.8 Bisection search
Write a Comment
User Comments (0)
About PowerShow.com