# Outline for January 30, 2019

Due: February 8, 2019 at 11:55pm

1. Lists [datecvt.py]
1. Sequence of values (ints, floats, strings, other lists, etc.)
2. Denoted by square brackets [ ] with values separated by commas
3. Lists are mutable
4. How to create a list
2. Program to print words in a line [lines.py]
3. What you can do with lists
1. Check membership: in, not in
2. +: concatenation
3. *: repetition
4. list[a:b]: slice list from a to b−1
5. del list[i]: delete element list[i]; i can be a slice
4. Objects, references, aliasing
1. For strings, one copy: assume a = "banana"
1. After b = a or b = a[:], then a is b is True
2. For lists, multiple copies: assume A = [ 1, 2, 3 ]
1. After B = A then A is B is True
2. After B = A[:], then A is B is False
5. Lists as parameters: can change list elements in function and they are changed in caller [args2.py]
1. Add elements to, remove elements: L.append(x), L.extend(ls), L.insert(i, x), L.pop(), L.remove(x)
2. Element ordering: L.reverse(), L.sort()
3. Other: L.count(x), L.index(x)
6. Tuples
1. Used to group data
2. Like lists, but immutable
7. Recursion
1. \$n\$ factorial [nfact.py]

 Matt Bishop Department of Computer Science University of California at Davis Davis, CA 95616-8562 USA