Lists & Tuples

A Python list is a sequence (ordered collection) of Python objects. Because it is a sequence like a string it shares characteristics such as indexing & slicing, iteration (for) and membership (in) as well as functions such as len(). One importance difference is that lists are mutable (strings are immutable). Tuples are immutable lists.

Readings from the book The Practice of Computing Using Python.

Chapter 7: Lists

Videos

  1. Lists
  2. A list is a sequence of Python objects delimited by square brackets and separated by commas. Any mixture of objects is allowed.

    1. Lists (Video I, Video II)
    2. MyProgrammingLab
      1. Section 7.2.1: 51290
      2. Section 7.2.2: 51613
      3. Section 7.2.3: 51612, 51213
      4. Section 7.2.5: 51215,
        51210 (hint: use functions "sum()" and "len()", not the "k" and "total" MPL suggests),
        51219 (hint: use the function "max()")
      5. Section 7.3.1: 51202, 51208
      6. Section 7.3.2: 51610,
        51295 (challenge: this one can be done in one line using List Comprehensions of Section 7.10 p.337)
      7. Section MPL Extra: 51283 (challenge: can be done in one line),
        51257
    3. Tuples (Video)
    4. Tuples are immutable lists – handy if you want a list that cannot be changed. Tuples are delimited by parentheses.

    5. MyProgrammingLab
      1. Section 7.7: 51700, 51706, 51707, 51708
  3. Examples using lists
    1. Perfect Numbers (Video I , Video II)
    2. In number theory, a perfect number is a positive integer that is equal to the sum of its positive divisors (excluding the number itself). Here we find the perfect numbers that are less than some value.

    3. Word Puzzle. (Video I, Video II, Video III)
    4. What do these words have in common: pig, table, cab, real, yet, and ride?
      Once you figure that out, what other English words have this characteristic? Let's write a program.

  4. Extra reading
    This link provides detail about naming and assignment, especially with respect to immutables (such as lists) and function parameters. There isn't anything here that isn't in the book, but the information is organized differently. Understanding the details right will help you program (as well as help you on exams).
  5. Patterns
  6. How to build a list:

                 a_list = []  # start with an empty list
                 for item in collection:
                     a_list.append(item)   # append item to list 
                  

  7. No Chapter exercises on Mimir this week.
  8. Lab06 (do pre-lab first on D2L)
  9. Project05