More with Lists - PowerPoint PPT Presentation

About This Presentation
Title:

More with Lists

Description:

Title: Welcome to CS I Author: System Administrator Last modified by: Sarah Created Date: 8/11/2003 5:41:56 PM Document presentation format: On-screen Show (4:3) – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 24
Provided by: SystemA391
Learn more at: http://www.cs.uni.edu
Category:
Tags: iceman | lists | more

less

Transcript and Presenter's Notes

Title: More with Lists


1
More with Lists
  • Intro to Computer Science
  • CS1510
  • Dr. Sarah Diesburg

2
The Python List Data Structure
  • A list an ordered sequence of items of any type.
  • A list can even contain other lists!

3
Similarities with Strings
  • concatenate/ (but only of lists)
  • repeat/
  • indexing (the operator)
  • slicing ()
  • membership (the in operator)
  • len (the length operator)

4
Differences Between Lists and Strings
  • Lists can contain a mixture of any python objects
  • 1,bill,1.2345, True
  • Lists are mutable their values can be changed
    while strings are immutable.
  • Lists are designated with , with elements
    separated by commas strings use .

5
Indexing
  • Can be a little confusing - what does the
    mean, a list or an index?
  • 1, 2, 31 ? 2
  • Context solves the problem. An index always comes
    at the end of an expression and is preceded by
    something (a variable, a sequence).

6
List of Lists
  • myLst a, 1, 2, 3, z
  • What is the second element (index 1) of that
    list?
  • Another list
  • myLst10 apply left to right
  • myLst1 ? 1, 2, 3
  • 1, 2, 30 ? 1

7
List Functions
  • len(lst) Number of elements in list (top level).
    len(1, 1, 2, 3) ? 3
  • min(lst) Minimum element in the list. If list of
    lists, looks at first element of each list.
  • max(lst) Max element in the list.
  • sum(lst) Sum the elements, numeric only.

8
Iteration
  • for element in 1, 1, 2, a,True
  • print element
  • Gives us
  • 1
  • 1, 2
  • a
  • True

9
Change an Objects Contents
  • Strings are immutable. Once created, the objects
    contents cannot be changed. New objects can be
    created to reflect a change, but the object
    itself cannot be changed
  • myStr abc
  • myStr0 z cannot do!
  • instead, make new str
  • newStr myStr.replace(a,z)

10
Lists are Mutable
  • Unlike strings, lists are mutable. You can change
    the objects contents!
  • myLst 1, 2, 3
  • myLst0 127
  • print myLst ? 127, 2, 3

11
List Methods
  • Remember, a function is a small program (such as
    len) that takes some arguments, the stuff in the
    parenthesis, and returns some value.
  • A method is called in a special way, the dot
    call. It is called in the context of an object
    (or a variable holding an object).

12
Again, Lists have Methods
  • myList a,1,True
  • myList.append(z)

arguments to the method
the name of the method
the object that we are calling the method with
13
Some New Methods that Modify the List
  • myList0a
  • Index assignment
  • myList.append(x)
  • Appends x to end of myList
  • myList.extend(C)
  • Takes a collection (like another list) and add
    each of the collections elements to the end of
    myList

14
Some New Methods that Modify the List
  • myList.pop()
  • Removes the element at the end of myList and
    returns that element.
  • myList.insert(i,x)
  • Inserts element x at position i into myList.
  • myList.remove(x)
  • Removes element x from myList

15
Some New Methods that Modify the List
  • myList.sort()
  • Sorts myList. If sorting a list of lists, only
    the first element in each list is considered in
    comparison operations.
  • myList.reverse()
  • Reverses the elements in myList

16
Some New Methods that do not Modify the List
  • myList.index(x)
  • Returns index value of element x in myList.
  • myList.count(x)
  • Returns the number of times x appears in myList.

17
Lab 10
  • We played with and re-implemented many of these
    list methods as our own functions in lab 10.
  • Lets take a look.

18
More about List Methods
  • Most of these methods do not return a value.
  • This is because lists are mutable so the methods
    modify the list directly there is no need to
    return anything.

19
Sorting
  • Only lists have a built-in sorting method. Thus
    you often convert your data to a list if it needs
    sorting
  • myLst list(xyzabc)
  • myLst ? x,y,z,a,b,c
  • myLst.sort()
  • convert back to a string
  • sortStr .join(myLst)
  • ? abcxyz

20
Sorted Function
  • The sorted function will break a sequence into
    elements and sort the sequence, placing the
    results in a list
  • sortLst sorted(hi mom)
  • ? ,h,i,m,m,o

21
Unusual Results
  • myLst 4, 7, 1, 2
  • myLst myLst.sort()
  • myLst ? None what happened?
  • What happened was the sort operation changed the
    order of the list in place (right side of
    assignment). Then the sort method returned None,
    which was assigned to the variable. The list was
    lost and None is now the value of the variable.

22
Anagram Example
  • Anagrams are words that contain the same letters
    in a different order. For example iceman and
    cinema.
  • A strategy to identify anagrams is to take the
    letters of a word, sort those letters, then
    compare the sorted sequences.
  • Anagrams should have the same sequence.

23
Anagram Program Algorithm
  1. Input 2 words to examine.
  2. Sort the letters of each word into a new string.
  3. Compare the resulting sorted strings
Write a Comment
User Comments (0)
About PowerShow.com